Zombie Prozesse killen
Zombie Prozesse killen
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?
Re: Zombie Prozesse killen
benutze
ps -el | grep 'Z'
das zweite Zeichen bei der Ausgabe (unter S wie Status) von ps -el ist beim Zombie ein Z.
ps -el | grep 'Z'
das zweite Zeichen bei der Ausgabe (unter S wie Status) von ps -el ist beim Zombie ein Z.
Re: Zombie Prozesse killen
ok, es handelt sich um einige SSH Prozesse:
Nur killen kann ich die leider nicht... auch nicht mit kill -9 oder kill -15 :/ Server neustarten wollt ich nicht gerade...
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>
Re: Zombie Prozesse killen
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!
Re: Zombie Prozesse killen
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?
Re: Zombie Prozesse killen
Die Zombies machen aber sicher keine Last. Ein Zombie wartet eigentlich nur darauf abgeräumt zu werden.
-
- Beiträge: 411
- Registriert: 03.12.2005 00:32:40
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Zombie Prozesse killen
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.
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.
Re: Zombie Prozesse killen
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 ???
ich hab schon gesucht welche prozesse viel cpu zeit oder ram bzw cpu brauchen aber da läuft nix ???
Re: Zombie Prozesse killen
mitlerweile ist die load auf 10 und ich weiß irgendwie nicht warum, denn die CPU ist 100% idle:
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
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
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