Zombie Prozesse killen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
reox
Beiträge: 2567
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Zombie Prozesse killen

Beitrag von reox » 11.11.2008 10:39:43

Ich hab seit etwa 12h an meinem Server eine sehr hohe Last (5,1) und 4 Zombie Prozesse... Wie kann ich herausfinden welche Prozesse tot sind und die last ziehen, um die dann richtig zu killen?

rstoetter
Beiträge: 7
Registriert: 11.11.2008 01:54:56

Re: Zombie Prozesse killen

Beitrag von rstoetter » 11.11.2008 11:49:24

benutze

ps -el | grep 'Z'

das zweite Zeichen bei der Ausgabe (unter S wie Status) von ps -el ist beim Zombie ein Z.

reox
Beiträge: 2567
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Zombie Prozesse killen

Beitrag von reox » 11.11.2008 13:26:12

ok, es handelt sich um einige SSH Prozesse:

Code: Alles auswählen

ps faux | grep sshd
root     18936  0.0  0.2   8080  2584 ?        Ds   Nov10   0:00 sshd: reox [priv]
reox     18938  0.0  0.0      0     0 ?        Z    Nov10   0:00  \_ [sshd] <defunct>
root     26774  0.0  0.2   8080  2584 ?        Ds   Nov10   0:00 sshd: reox [priv]
reox     26776  0.0  0.0      0     0 ?        Z    Nov10   0:00  \_ [sshd] <defunct>
root     31097  0.0  0.2   8068  2560 ?        Ds   Nov10   0:00 sshd: reox [priv]
reox     31099  0.0  0.0      0     0 ?        Z    Nov10   0:01  \_ [sshd] <defunct>
root     31509  0.0  0.2   8068  2572 ?        Ds   10:29   0:00 sshd: reox [priv]
reox     31511  0.0  0.0      0     0 ?        Z    10:29   0:00  \_ [sshd] <defunct>
Nur killen kann ich die leider nicht... auch nicht mit kill -9 oder kill -15 :/ Server neustarten wollt ich nicht gerade...

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Zombie Prozesse killen

Beitrag von Duff » 11.11.2008 15:06:20

An dem Status Z können Sie erkennen, dass es sich um einen Zombie-Prozess handelt. Zombie-Prozesse entstehen, wenn sich ein Kindprozess beendet hat ,ohne das der Elternprozess auf Sie wartet. Oder etwas genauer:

Prozesse verwenden zum Beenden die return-Anweisung oder rufen die Funktion exit() mit einem Wert auf, der an das Betriebssystem zurückgeliefert wird. Das Betriebssystem lässt den Prozess so lange in seiner internen Datentabelle eingetragen, bis entweder der Elternprozess des Prozesses den zurückgelieferten Wert liest oder der Elternprozess selbst beendet wird.

Ein Zombie-Prozess ist in diesem Sinne ein Prozess, der zwar beendet wurde, dessen Elternprozess den exit-Wert des Kindprozesses aber noch nicht erhalten hat. Erst wenn der Elternprozess beendet wird, wird auch der Zombie-Prozess aus der Prozesstabelle des Betriebssystems entfernt.
Oh, yeah!

reox
Beiträge: 2567
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Zombie Prozesse killen

Beitrag von reox » 11.11.2008 16:42:57

ok das ist schlecht, denn nach ps haben die ja keinen eltern prozess, oder es ist der init prozess und dann muss ich neu starten?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: Zombie Prozesse killen

Beitrag von nepos » 11.11.2008 16:52:44

Die Zombies machen aber sicher keine Last. Ein Zombie wartet eigentlich nur darauf abgeräumt zu werden.

tex
Beiträge: 411
Registriert: 03.12.2005 00:32:40
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Zombie Prozesse killen

Beitrag von tex » 11.11.2008 16:55:39

Ich finde folgende Erklärung besonderst verständlich: "Ein Zombie ist bereits tot, es macht daher keinen Sinn nochmals auf ihn zu schießen."

Wichtig ist, dass man versteht was ein Zombie macht: Er wartet lediglich darauf seinem Parent den Rückgabewert zu übergeben. Ein Zombie verbraucht daher (fast) keine Ressourcen. Das einzige Problem, was sich bei einer _sehr_ großen Zahl von Zombie-Prozessen ergeben kann, ist dass keine Prozess-IDs mehr frei sind. Das ist mir allerdings noch nie passiert.

reox
Beiträge: 2567
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Zombie Prozesse killen

Beitrag von reox » 11.11.2008 17:05:57

klingt eigentlich logisch... nur wo kommt dann die last her?
ich hab schon gesucht welche prozesse viel cpu zeit oder ram bzw cpu brauchen aber da läuft nix ???

reox
Beiträge: 2567
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Zombie Prozesse killen

Beitrag von reox » 11.11.2008 19:58:08

mitlerweile ist die load auf 10 und ich weiß irgendwie nicht warum, denn die CPU ist 100% idle:

Code: Alles auswählen

top - 19:57:15 up 9 days, 23:17,  2 users,  load average: 10.05, 10.05, 9.82
Tasks: 133 total,   1 running, 125 sleeping,   0 stopped,   7 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    906268k total,   881572k used,    24696k free,   201180k buffers
Swap:   746980k total,      120k used,   746860k free,   487456k cached
Was geht da vor?

edit: ok die lösung war denkbar blöd: nachdem ich nun zuhause physisch vor dem server stand und den bildschirm angemacht habe wurde mir einiges klar... Anscheinend hat die CPU einige ACPI Fehler ausgespuckt, zumindest stand sowas da... Server neugstartet und geht wieder

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Zombie Prozesse killen

Beitrag von Duff » 12.11.2008 08:22:15

Und die Zombies sollten nun auch weg sein ;-)
Oh, yeah!

reox
Beiträge: 2567
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Zombie Prozesse killen

Beitrag von reox » 12.11.2008 12:41:54

jop :D

Antworten