2009-12-15 6 views
6

Sur mon serveur Web Fedora Core 9 avec le noyau 2.6.18, init ne recueille pas les processus zombie. Cela serait supportable si la table de processus n'atteignait finalement pas une limite supérieure où aucun nouveau processus ne peut être alloué.init ne recueille jamais les processus zombie/défunts

Exemple de sortie de ps -el | grep 'Z':

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY   TIME CMD 
5 Z  0 2648  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z 51 2656  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z  0 2670  1 0 75 0 -  0 exit ?  00:00:02 crond <defunct> 
4 Z  0 2874  1 0 82 0 -  0 exit ?  00:00:00 mysqld_safe <defunct> 
5 Z  0 28104  1 0 76 0 -  0 exit ?  00:00:00 httpd <defunct> 
5 Z  0 28716  1 0 76 0 -  0 exit ?  00:00:06 lfd <defunct> 
5 Z 74 10172  1 0 75 0 -  0 exit ?  00:00:00 sshd <defunct> 
5 Z  0 11199  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11202  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11205  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11208  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11211  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11240  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11246  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11249  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11252  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z  0 14106  1 0 80 0 -  0 exit ?  00:00:00 anacron <defunct> 
5 Z  0 14631  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 

Est-ce un bug du système d'exploitation? mauvaise configuration? Je cherche de l'inspiration quant à la source de ce problème. Merci

Répondre

2

Cela m'a frappé sur Ubuntu de 2 façons:

  1. Quelque chose ne va pas avec le noyau. Dans mon cas, un pilote de noyau s'était écrasé et les processus internes étaient devenus fous. La meilleure façon de tester c'est la vérification/var/log/syslog (et dmesg) pour voir si quelque chose semble mal tourné - par exemple « BUG: incapable de gérer le noyau déréférence de pointeur NULL à 0000000000000028 »,

  2. L'autre fois que je J'ai vu ceci quand init n'est pas le «parent du processus fils dans la plupart des cas» (citation de manpage). Cela peut se produire lorsque vous utilisez le syscall ptrace (que le programme strace utilise en interne) pour attacher un processus. Par exemple, je me suis retrouvé dans une situation où j'attache une strace au processus fils B. Finalement, le processus B se termine comme son parent (pas sûr de quel ordre). Le processus B ressemble alors à un zombie appartenant à init. Cependant, son parent «le plus à dessein» était en fait le programme strace. Après avoir tué la bande, le processus B a été récolté

Questions connexes