Aller au contenu

Sujets conseillés

Posté

En ce moment je vois en faisant la commande TOP, un httpd <defunct>, j'ai lu quelque part que cela pouvait venir de problemes de rotations de logs, mais je n'ai rien changé à ce niveau.... Malheureusement cela semble aussi provoquer des difficultés d'accés aux pages web.

Quelqu'un a une idée ?

    total   28.2%    0.0%    6.9%   0.0%     0.0%    0.0%   64.8%
Mem:  1000312k av,  900300k used,  100012k free,       0k shrd,   26304k buff
      319968k active,             509664k inactive
Swap: 1020116k av,  232384k used,  787732k free                  163508k cached

 PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
3370 root      16   0  9964 5548  5496 S    17.5  0.5  17:18   0 httpd
4713 mysql     15   0 12692  12M  1424 S    10.8  1.2   0:19   0 mysqld
4793 root      17   0  1228 1228   888 R     1.1  0.1   0:02   0 top
3307 mail      16   0  1608 1468  1400 S     0.3  0.1   0:00   0 exim
4877 apache    16   0     0    0     0 Z     0.1  0.0   0:00   0 httpd <defunct>

Posté

Salut Bernhard,

Regardes dans le log d'erreurs Apache si tu n'as pas eu un problème d'encodage gzip. C'est assez courant, et cela peut te laisser un "zombie" comme tu as.

Cela ne devrait pas impacter les performances du serveur normalement vu qu'il n'utilise plus de CPU ni de mémoire. C'est la table des processus qui n'est pas jour, sans plus.

Dan

Posté

Ce process <defunct> reste longtemps ou il disparaît de lui-même ?

En regardant sur le serveur du Hub, il m'arrive aussi d'en avoir de temps à autre, mais ils ne restent que quelques instants.

Posté

Je me permets de continuer ici. D'un coté, je dois limiter les conditions d'accès qu serveur (Maxclients, max_connections) pour respectivement apache et mysql, mais si je limite trop, j'ai l'impression que des connexions sont refusées alors que le serveur a encore des ressources, et de l'autre, si je mets des nombres trop grands, à certains endroits, ça bloque.... car les limites sont forcement atteintes, par exemple lors de crawls de moteurs. Y a il un autre moyen que les tatonnements, pour trouver le juste milieu ?

Posté

Il n'y a pas de règle autre que l'observation... surtout pour des réglages "fins".

Seule l'observation te permettra d'affiner tes paramètres :(

PAr contre, le process zombie qui disparaît vient peut-être simplement du fait qu'au moment où top s'exécute, la table des process n'est pas encore "propre".

Rien d'inquiétant toutefois.

Pour info, voici la définition d'un "zombie":

[uNIX] programme terminé mais dont le parent n'a pas été informé de sa mort.
Posté

Merci, c'est ce que je croyais commencer à comprendre, cela fonctionne avec "l'instinct" :lol:

Je me permets de continuer un peu encore, apparemment, mod_status est l'outil parfait pour affiner les réglages.

Dans mon httpd.conf, le module est chargé, et j'ai bien ajouté les lignes suivantes :

<Location /server-status>
       SetHandler server-status
       Order deny,allow
       Deny from all
       Allow from mondomaine.com
</Location>

Mais quoi que je fasse, le résultat est toujours quand j'essaie d'appeller la page :

The requested URL /server-status was not found on this server.

et je n'ai aucune idée, comment je pourrais déterminer pourquoi cela ne fonctionne pas. J'ai bien regardé, s'il y a un .conf ou un .htaccess spécifique au nom de domaine, qui donnerait l'instruction contraire... Mais je n'ai rien trouvé, j'ai aussi essayé avec l'IP du serveur, sans succès....

Merci de ton aide.

Posté

c'est un processe Zombie il y a le 'Z'

un process httpd qui s'est fini <defunct> car il n'a pas encore ete enlevé de la memoire.

Quand un processus est tué, son père en est normalement averti. Toutefois, il peut arriver que le père ne soit pas averti de la disparition de l'un de ses fils (notamment dans le cas où ce dernier a été victime d'un brutal 'kill -9'). Le fils est donc toujours référencé alors qu'il n'existe plus en réalité. Le processus defunct (ancien processus fils) ne disparaîtra donc qu'avec la mort du père.

voila donc rien d'inqiétant

Posté
<Location /server-status>
       SetHandler server-status
       Order deny,allow
       Deny from all
       Allow from mondomaine.com
</Location>

Essaies avec:

<Location /server-status>
       SetHandler server-status
       Order deny,allow
       Allow from all
</Location>

Cela doit simplement être une question de permissions d'accès...

... pour autant que tu aies mis cela en dehors de tout VirtualHost, par exemple juste avant les déclarations de serveur Proxy.

Lorsque tu lances "httpd -l" tu vois le mod_status chargé ?

Posté
Lorsque tu lances "httpd -l" tu vois le mod_status chargé ?

je n'ai que cela :

]# httpd -l
Compiled-in modules:
 http_core.c
 mod_so.c
 mod_frontpage.c
suexec: enabled; valid wrapper /usr/sbin/suexec

J'ai essayé la modif plus haut, sans succès... (404, comme avant)

Le fait que ce ne soit pas listé là, veut dire que cela n'est même pas installé ? Malgré :

LoadModule status_module      modules/mod_status.so

dans le httpd.conf ?

Posté
Le fait que ce ne soit pas listé là, veut dire que cela n'est même pas installé ? Malgré :

dans le httpd.conf ?

Il te faut aussi la ligne:

AddModule mod_status.c

Tu l'as dans le httpd.conf ?

Posté
pour autant que tu aies mis cela en dehors de tout VirtualHost,

:blush: C'était cela l'erreur.....

:hourra:

Merci Dan...

Bon je vais essayer d'analyser cela, pour le moment je vois surtout une page remplie de points....

_KKKKKKWKKK_WWWKKWWW_... (après beaucoup de points)

C'est quoi les le plus mauvais, ceux qui attendent la connexion ?, ceux qui sont en Keepalive, je vais tester tout cela, en tout cas je pense avoir quand même avancé d'un pas, merci encore et désolé pour les erreurs de débutant...

édit : cela a l'air d'être exactement ce que je cherchais, beaucoup mieux que l'observation des logs..... !!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...