Pregunta

En mi Fedora Core 9 servidor web con el kernel 2.6.18, init no está cosechando los procesos de zombies. Esto sería soportable si no fuera por la tabla de procesos, finalmente, llegar a un límite superior, donde no hay nuevos procesos pueden ser asignados.

Ejemplo de salida 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>

Es esto un error del SO? mala configuración? Estoy en busca de inspiración en cuanto al origen de este problema. Gracias

¿Fue útil?

Solución

Esto me ha golpeado en Ubuntu de 2 maneras:

  1. Hay algún problema con el kernel. En mi caso, un controlador del núcleo se había estrellado y el funcionamiento interno del proceso fue de locos. La mejor manera de probar esto está comprobando / var / log / syslog (y dmesg) para ver si algo se ve mal - por ejemplo, "ERROR: no puede manejar kernel referencia a un puntero NULL en 0000000000000028",

  2. La otra vez que he visto esto es cuando init no es el "padre del proceso hijo para la mayoría de los propósitos" (cita página de manual real). Esto puede ocurrir cuando se utiliza la llamada al sistema ptrace (que el programa strace utiliza internamente) para unir en un proceso. Por ejemplo, me he metido en una situación en la que hay que adjuntar a strace proceso hijo B. Con el tiempo, el proceso B termina al igual que su padre (no está seguro de qué orden). Proceso B, entonces se ve como un zombi propiedad de init. Sin embargo, su padre "la mayoría de los propósitos" era en realidad el programa strace. Después de matar al strace, fue segada proceso B

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top