Qu'est-ce qui est dans Apache 2 une erreur "SIGWINCH interceptée"?
Mon serveur (ubuntu 8.04) LAMPE de course drupal 6, quand il y a un trafic important, il ne sert plus les pages. Un redémarrage d'apache 2 ne fonctionne pas, j'ai donc redémarrer le service.
J'ai trouvé ce message dans le apache2 erreur.journal
[avis] pris SIGWINCH, fermeture
convenablement
Aussi je remarque que l'id de processus du apache2, était d'environ 12000 quand apache cesse de répondre.
Mise à jour
La pris SIGWINCH, comme vous le soulignez, est d'un avis du service apache redémarrage. J'ai joué un peu avec le max de clients et de les garder en vie. J'ai mis le MaxClients trop faible, alors je suis un "serveur MaxClients réglage, envisager d'augmenter la MaxClients paramètre" erreur, mais d'une correction.
Concernant le PID, mon installation a module prefork installé, donc après MaxRequestPerChild est atteint, il recycle le processus de l'enfant. C'est pourquoi le PID augmente régulièrement. Je n'ai toujours pas compris pourquoi après un certain temps apache cesse de répondre.
Dans le temps, va essayer d'augmenter la MaxRequestPerChild de sorte que le PID ne marche pas atteindre PID max que rapide. La limite de courant est de 32768 (qui est la norme pour les nouveaux debian et ubuntu installations).
Ici, c'est plus à partir du journal:
[Ven Avr 24 01:48:56 2009] [avis]
pris SIGWINCH, la fermeture de
gracieusement[Ven Avr 24 01:50:07 2009] [avis]
Apache/2.2.8 (Ubuntu)
PHP/5.2.4-2ubuntu5.3 avec
Suhosin-Patch configuré -- reprise
les opérations normales de[Ven 24 Avr à 17:13:35 2009] [erreur]
[client 195.70.62.131] client a envoyé
Requête HTTP/1.1 sans nom d'hôte (voir
RFC2616 section 14.23):
/w00tw00t.à l'.L'ISC.SANS.DFind:)[Ven 24 Avr à 17:36:00 2009] [erreur]
[client 212.188.33.4] client a envoyé
Requête HTTP/1.1 sans nom d'hôte (voir
RFC2616 section 14.23):
/w00tw00t.à l'.L'ISC.SANS.DFind:)[Sam Avr 25 20:05:07 2009] [erreur]
[client 84.243.222.12] URI non Valide dans
requête GET HTTP/1.1 HTTP/1.1[Sam Avr 25 20:05:12 2009] [erreur]
[client 84.243.222.12] script n'est pas
trouvé ou est incapable de stat:
/usr/lib/cgi-bin/twiki[Sam Avr 25 20:05:12 2009] [erreur]
[client 84.243.222.12] script n'est pas
trouvé ou est incapable de stat:
/usr/lib/cgi-bin/wiki[Sam Avr 25 20:05:12 2009] [erreur]
[client 84.243.222.12] script n'est pas
trouvé ou est incapable de stat:
/usr/lib/cgi-bin/wikis[Sam Avr 25 21:46:46 2009] [erreur]
[client 211.68.23.167] URI non Valide dans
requête GET HTTP/1.1 HTTP/1.1[Dim Avr 26 06:13:47 2009] [erreur]
[client 86.39.154.89] client a envoyé
Requête HTTP/1.1 sans nom d'hôte (voir
RFC2616 section 14.23):
/w00tw00t.à l'.L'ISC.SANS.DFind:)[Dim Avr 26 06:53:07 2009] [avis]
Redémarrage requis, de faire
redémarrez
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Bien, SIGWINCH est utilisé dans certaines situations, lorsque le démarrage et l'arrêt d'Apache sur Ubuntu. Si je ne
sudo apache2ctl graceful-stop
sur mon Ubuntu 8.10 serveur, j'obtiens ceci dans mon journal:Que je m'en souviens, SIGWINCH est également utilisé par certains services qui ont besoin de redémarrer Apache lors de la rotation des logs, tous les soirs d'emplois, etc.
Cela n'explique pas le problème que vous êtes en train de l'avoir, mais je pense qu'il pourrait être quelque chose d'autre en cours d'exécution sur votre serveur c'est le redémarrage d'Apache – ou il pourrait ne pas être lié à votre problème.
Essayer de poster plus de votre fichier de log si vous le pouvez, il sera beaucoup plus facile à analyser 🙂
euh? si je me souviens bien, SIGWINCH est un signal envoyé à une application de terminal lorsque la taille de la fenêtre de terminal changements (de sorte que l'application peut redimensionner lui-même). Généralement utilisé par les applications ncurses.
C'est très étrange. Cette info vous donne des conseils supplémentaires ?
SIGWINCH
Comme une question de fait, @Stefano est droit: SIGWINCH moyen du SIGNAL de WINDOWS CHANGEMENT et est envoyé automatiquement lorsqu'un terminal détecte un changement de la taille des fenêtres pour permettre un renouvellement.
SIGWINCH pour apache2
Mais malheureusement
apache2
processus mal abuse de ce signal (dans la manière de le détourner de son sens premier), mais pour leur défense, ils ne semble pas avoir le choix et a dû recourir pour cela à cause d'un manque de signal (voir rapport de bug). L'un de leur hypothèse est queapache2
processus est toujours en arrière-plan. Donc @mikl est également parfaitement juste.Alors, que faut-il vérifier ?
Sur Apache, SIGWINCH est le Gracieux Arrêter signal. Notez que ceci est différent du signal SIGUSR1, qui est le Redémarrage En Douceur signal.
Malheureusement, nous avons besoin de plus d'informations pour vous dire pourquoi Apache est gracieusement arrêt.