Domanda

Sul mio server web Fedora Core 9 con kernel 2.6.18, init non raccoglie processi zombie.Ciò sarebbe sopportabile se non fosse per la tabella dei processi che alla fine raggiunge un limite superiore in cui non è possibile allocare nuovi processi.

Esempio di output di 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>

È un bug del sistema operativo?configurazione errata?Sto cercando ispirazione per quanto riguarda l'origine di questo problema.Grazie

È stato utile?

Soluzione

Questo mi ha colpito su Ubuntu in 2 modi:

  1. Qualcosa non va nel kernel.Nel mio caso un driver del kernel si era bloccato e le parti interne del processo erano impazzite.Il modo migliore per verificarlo è controllare /var/log/syslog (e dmesg) per vedere se qualcosa non va, ad esempio "BUG:impossibile gestire la dereferenziazione del puntatore NULL del kernel a 0000000000000028",

  2. L'altra volta che ho visto questo è quando init non è il "processo genitore del figlio per la maggior parte degli scopi" (citazione della pagina man effettiva).Ciò può accadere quando si utilizza la chiamata di sistema ptrace (che il programma strace utilizza internamente) per collegarsi a un processo.Ad esempio, mi sono trovato in una situazione in cui allego strace al processo figlio B.Alla fine, il processo B termina come fa il suo genitore (non sono sicuro in quale ordine).Il processo B appare quindi come uno zombie di proprietà di init.Tuttavia, il suo genitore "la maggior parte degli scopi" era in realtà il programma strace.Dopo aver ucciso lo strace, è stato raccolto il processo B

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top