Pergunta

No meu servidor da Web do Fedora Core 9 com o Kernel 2.6.18, o init não está colhendo processos de zumbi. Isso seria suportável se não fosse a tabela de processos, chegando a um limite superior, onde nenhum novo processo pode ser alocado.

Saída de amostra 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>

Isso é um bug do sistema operacional? Encontro -se? Estou procurando inspiração quanto à fonte desse problema. Obrigado

Foi útil?

Solução

Isso me atingiu no Ubuntu de duas maneiras:

  1. Algo errado com o kernel. No meu caso, um motorista do kernel caiu e os processos internos ficaram loucos. A melhor maneira de testar isso é verificar/var/log/syslog (e dmesg) para ver se algo parece errado - por exemplo "bug: incapaz de lidar com a desreferência do ponteiro nulo do kernel em 000000000000000028",

  2. A outra vez que vi isso é quando o init não é o "pai do processo filho para a maioria dos propósitos" (cotação real da mangueira). Isso pode acontecer quando você usa o PTRACE SYSCALL (que o programa STRACE usa internamente) para anexar em um processo. Por exemplo, entrei em uma situação em que anexo ao processo da criança B. eventualmente, o processo B termina, assim como seus pais (não tenho certeza de qual ordem). O processo B então parece um zumbi de propriedade da Init. No entanto, seus pais "mais propósitos" eram na verdade o programa Strace. Depois de matar o Strace, o processo B foi colhido

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top