Zombie-Prozess mit 100% CPU

12

Ein Zombie-Prozess , der keine Ressourcen (RAM und CPU) verbrauchen sollte , belastet einen ganzen Kern meiner 8-Kern-64-Bit-Ubuntu 11.10-Desktop-Installation.

Dies ist die Ausgabe von 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>

... und hier ein Auszug aus 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

So entstand der Zombie-Prozess:

  1. Ich habe eine Java-JAR namens minecraft.jar geöffnet . Dieser Launcher lädt eine andere JAR-Datei nach ~ / .minecraft / bin / minecraft.jar herunter
  2. Diese JAR wurde ausgeführt, als ich meinen Computer mit gesperrt habe xscreensaver.
  3. Dann gab ich mein Passwort ein, um den Computer zu entsperren, und ich sah, dass das Minecraft-Fenster eingefroren war.
  4. Ich habe versucht, es zu töten (PID 10317) mit gnome-system-monitor. Es wurde ein Zombie.
  5. kill -9 10317 war unwirksam.
  6. xkillschloss nur das Fenster mit dem Titel "Minecraft"; Der zugrunde liegende javaProzess wurde nicht geschlossen .

Relevante Information:

  • Der Grafiktreiber ist FGLRX und hat in Unity von Ubuntu 11.04 und Ubuntu 11.10 berüchtigte Probleme verursacht , einschließlich manchmal hoher CPU-Auslastung von Xorgund compiz.

Ich möchte wissen:

  1. Wie kann dieser Prozess javaabgebrochen werden, ohne dass ein Neustart erforderlich ist ?
  2. Warum passiert dieses Problem?
  3. Wie kann ich verhindern, dass dieses Problem erneut auftritt?
Deltik
quelle
1
Ich fürchte, ich kann dir nicht persönlich helfen, aber ich empfehle dir, dass du einen guten Job gemacht hast und erklärt hast, was passiert ist und was du bisher versucht hast!
Nhinkle
7
"Hey Leute, diese Anwendung verbraucht viel CPU-Zeit. Sie ist übrigens in Java geschrieben. Weiß nicht, ob die beiden zusammenhängen ???"
ta.speot.is
Höchstwahrscheinlich dreht es sich um ein Schloss.
Daniel R Hicks
Es passiert mir auch beim Spielen, dass @RedGrittyBrick ein Zombie-Java-Prozess ist, bei dem das Minecraft-Glas ausgeführt wird, und ein Zombie im Spiel verschiedene Dinge sind.
Falk

Antworten:

8

Der Prozess wurde bereits repariert init, daher sollte er geerntet werden (andernfalls würde die Lösung wahrscheinlich darin bestehen, den übergeordneten Prozess zu töten). Es scheint festzustecken exit, basierend auf dem WCHANFeld.

Es kann tatsächlich etwas tun (wie das Erstellen eines Core-Dumps), das beendet wird und von selbst verschwindet. Leider dreht es sich wahrscheinlich im Kernel wegen eines defekten Treibers, und letztendlich besteht Ihre einzige Option darin, einen Neustart durchzuführen.

David Schwartz
quelle
Es ist eine Weile her, dass ich diese Frage gestellt habe, aber ich konnte mein Problem nicht erneut erstellen, insbesondere nachdem ich FGLRX auf die neueste Version aktualisiert hatte . Ich habe dies als die beste Antwort ausgewählt, weil es den kaputten Fahrer aufzeigt und die umfassendste ist.
Deltik
4

Zombie-Prozesse sind gestorben, wurden jedoch noch nicht bereinigt (erntet ist der richtige Begriff) und killfunktionieren daher nicht wie ein normaler Prozess. Der Prozess befindet sich noch in der Prozesstabelle, aber wenn es sich um einen Zombie handelt, wurden die Ressourcen freigegeben.

Sie können versuchen, ein SIGCHLDSignal an das übergeordnete Element des Prozesses zu senden. Andernfalls hätte init es aufnehmen und es möglicherweise ernten müssen. Wenn Sie den Vorgang beschleunigen möchten, können Sie einfach einen Neustart durchführen.

Garrett
quelle
1

Dies ist ein Kernel-Fehler. Verwenden Sie ecryptfs, um Ihr Home-Verzeichnis zu verschlüsseln? Es gibt einen Fehler, der darüber auf launchpad.net abgelegt wurde.

psusi
quelle
Nein, ich verschlüssele Dateien in meinem Home-Verzeichnis manuell.
Deltik