Um processo zumbi , que não deveria estar usando nenhum recurso (RAM e CPU), está consumindo um núcleo inteiro na minha instalação do Ubuntu 11.10 Desktop de 8 bits e 64 bits.
Esta é a saída de ps -el|grep Z
:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 Z 1000 10317 1 99 80 0 - 0 exit ? 19:27:15 java <defunct>
... e aqui está um trecho de top
:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10317 deltik 20 0 0 0 0 Z 100 0.0 1170:17 java <defunct>
1424 root 20 0 612m 193m 158m S 14 2.4 287:17.11 Xorg
12580 deltik 20 0 710m 135m 46m S 5 1.7 27:31.07 compiz
Foi assim que o processo zumbi surgiu:
- Abri um Java JAR chamado minecraft.jar . Este iniciador baixa outro arquivo JAR para ~ / .minecraft / bin / minecraft.jar
- Esse JAR estava sendo executado quando eu tranquei meu computador
xscreensaver
. - Então, digitei minha senha para desbloquear o computador e vi que a janela do Minecraft estava congelada.
- Eu tentei matá-lo (PID 10317) com
gnome-system-monitor
. Tornou-se um zumbi. kill -9 10317
foi ineficaz.xkill
apenas fechou a janela intitulada "Minecraft"; não fechou ojava
processo subjacente .
Informação relevante:
- O driver gráfico é o FGLRX , e causou problemas notórios no Unity do Ubuntu 11.04 e Ubuntu 11.10 , incluindo o uso de CPU
Xorg
e , às vezes, altocompiz
.
Eu quero saber:
- Que maneira existe para destruir esse processo
java
sem reiniciar, se houver? - Por que esse problema está acontecendo?
- O que posso fazer para impedir que esse problema ocorra novamente?
Respostas:
O processo já foi reparado e
init
, portanto, deve ser colhido (caso contrário, a solução provavelmente seria matar seu pai). Parece estar presoexit
, com base noWCHAN
campo.Na verdade, pode estar fazendo algo (como criar um dump principal) que será concluído e desaparecerá por conta própria. Infelizmente, é provável que esteja girando no kernel por causa de um driver quebrado e, finalmente, sua única opção será reiniciar.
fonte
Você já tentou
sudo kill -SIGCHLD 1
? Se isso não funcionar, você precisará reiniciar o sistema.Mais sobre isso: /programming/6335730/zombie-process-cant-be-killed e /server/89759/init-never-reaping-zombie-defunct-processes
fonte
Os processos zumbis morreram, mas ainda não foram limpos (colher é o termo correto) e, portanto
kill
, não funciona neles como um processo normal. O processo ainda está na tabela de processos, mas quando é um zumbi, os recursos foram desalocados.Você pode tentar enviar um
SIGCHLD
sinal para o processo pai, caso contrário o init deveria ter captado e o colherá eventualmente. Se você deseja acelerar o processo, basta simplesmente reiniciar.fonte
Este é um bug do kernel. Você está usando ecryptfs para criptografar seu diretório pessoal? Há um erro registrado sobre isso no launchpad.net.
fonte