Processo de zumbi usando 100% da CPU


12

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:

  1. Abri um Java JAR chamado minecraft.jar . Este iniciador baixa outro arquivo JAR para ~ / .minecraft / bin / minecraft.jar
  2. Esse JAR estava sendo executado quando eu tranquei meu computador xscreensaver.
  3. Então, digitei minha senha para desbloquear o computador e vi que a janela do Minecraft estava congelada.
  4. Eu tentei matá-lo (PID 10317) com gnome-system-monitor. Tornou-se um zumbi.
  5. kill -9 10317 foi ineficaz.
  6. xkillapenas fechou a janela intitulada "Minecraft"; não fechou o javaprocesso 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 Xorge , às vezes, alto compiz.

Eu quero saber:

  1. Que maneira existe para destruir esse processo javasem reiniciar, se houver?
  2. Por que esse problema está acontecendo?
  3. O que posso fazer para impedir que esse problema ocorra novamente?

1
Receio não poder ajudá-lo pessoalmente, mas recomendo que você faça um bom trabalho explicando o que aconteceu e o que você tentou até agora!
Nhinkle

7
"Ei, pessoal, esse aplicativo está gastando muito tempo de CPU. A propósito, está escrito em Java. Não sei se os dois estão relacionados ???"
ta.speot.is

Provavelmente está girando em uma fechadura.
Daniel R Hicks


Também acontece comigo durante o jogo, @RedGrittyBrick, um processo java zumbi executando o jar do minecraft e um zumbi dentro do jogo são coisas diferentes.
Falk

Respostas:


8

O processo já foi reparado e init, portanto, deve ser colhido (caso contrário, a solução provavelmente seria matar seu pai). Parece estar preso exit, com base no WCHANcampo.

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.


Já faz um tempo desde que fiz essa pergunta, mas não consegui recriar meu problema novamente, principalmente depois de atualizar o FGLRX para a versão mais recente. Selecionei esta como a melhor resposta, pois indica o driver quebrado e é a mais abrangente.
Deltik 9/09/12


4

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 SIGCHLDsinal 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.


1

Este é um bug do kernel. Você está usando ecryptfs para criptografar seu diretório pessoal? Há um erro registrado sobre isso no launchpad.net.


Não, criptografo manualmente os arquivos no meu diretório pessoal.
Deltik
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.