[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lastmittel? (gnome-system-monitor)



Gruesse!
* Christoph Schwerdtfeger <schwerdtfeger@softcontract.de> schrieb am [20.12.06 11:13]:
> 
> Ich habe noch ein aktuelles Abbild von top gemacht, in diesem Fall unter
> Last:
> 
> # top
> top - 11:03:05 up 8 days,  1:11,  2 users,  load average: 37.85, 16.74, 7.07
> Tasks: 452 total,   4 running, 285 sleeping,   0 stopped, 163 zombie
> Cpu(s):  1.7%us,  0.7%sy,  0.0%ni,  0.0%id, 95.8%wa,  1.1%hi,  0.6%si,
> 0.0%st
> Mem:   1036644k total,  1024236k used,    12408k free,     1188k buffers
> Swap:  3145712k total,  1117512k used,  2028200k free,   657484k cached
> 
> Da sieht das schon anders aus.
> 
> Wie kann ich mir genau anzeigen lassen, welche Prozesse die
> "Zombie-Prozesse" sind? 

Die siehst du mit top nicht. Du hast laut top 452 Prozesse, top bräuchte
also ein Terminal mit mehr als diese Anzahl Zeilen, um alle anzeigen zu
können. Dafür ist top aber auch nicht da.
Du suchst ps ax | less, die Zombies erkennst du am Z in der STAT-Spalte.
Da wäre es interessant mal einige zu sehen(COMMAND), IMHO dürften die
alle von der selben Anwendung kommen.

> Was genau ist ein Zombie-Prozess überhaupt?

Zombies entstehen aus einem gestörten Familienverhältniss. Jeder Prozeß
hat einen Elternprozeß, der ihn erzeugt hat und ihn steuert. Wenn der
Elternprozeß beendet oder gekillt wird, ohne ordnungsgemäß auch seine
Kinder ordentlich zu beerdigen, dann werden diese zu Zombies(Untote).
Der Kernel versucht zwar, daß zu bereinigen (indem er diese Prozesse
kurzfristig durch init (die "Mutter aller Prozesse") adoptiert und dann
korrekt zu beenden versucht. Das geht aber oftmals nicht. Dann bleiben
diese Zombies eben Zombies. Zombies kann man auch nicht mit kill töten,
es sind wirkliche Untote.
I.d.R. machen ein paar Zombies nichts, verbrauchen auch keine Ressouren
außer den Eintrag in der Prozeßtabelle. Aber oftmals laufen diese dann
auch wirklich amok, je nachdem Grund wie und warum ihre Eltern gestorben
sind.

Bei dir deuten die hohe Anzahl in der kurzen Laufzeit entweder (wie
schon angemahnt) auf (RAM)-Unterdimensionierung hin oder auf eine
fehlerhafte Software.

Bedenklich ist bei obigem top daß die CPU-Zeit eben nicht durch
Rechen-Operationen "verbraten" wird sondern durch Warte-Zyklen (der Wert
bei %wa = wait). D.h.: der Kernel muß warten daß Daten gelesen oder
geschrieben werden können, bevor er weiter "rechnet". Das ist ein
IO-Problem. IO ist meist Festplatte(n)/Bus oder Netzwerk-IO.

Jetzt mußt du rauskriegen: was ist Ursache, was Wirkung. Kommt der
IO-Flaschenhals als Ergebniss davon, daß die Zombies "Amok" laufen oder
kommen die Zombies bzw. die Load in Folge des
Nicht-Lesen/Schreiben-Könnens über Festplatten/Netzwerk-Bus. Ursache
kann z.B. ein intensives Ein-/Aus-Lagern des großen Swaps sein, wobei
wir wieder beim Thema RAM sind.

Die Tools zum IO-Problem sind u.a. vmstat, iostat (Paket sysstat)
Du mußt die syslog auswerten.
Außerdem von Interesse: was ist das für ein Rechner? Welcher Kernel
läuft darauf.

Nochwas (ich hab jetzt schon so viel geschrieben): ich denke, daß das ja
ein Produktiv-System ist und kein Spiel-Rechner. Dein Problem ist IMHO
nicht per EMail lösbar, da es eben nicht langt zu sagen: Trage in der
config.x.y.z bei BlaBlub den Wert 1 ein. Daß muß man beobachten und mit
den entprechenden Werkzeugen analysieren können. Sowas geht nur vor Ort.
Nach deinen (nicht böse sein) augenscheinlich geringen Kenntnissen eines
Linux-Systems würde ich dir wirklich anraten, jemand professionell und
evtl. kostenpflichtig bei Dir/Euch zu "verdingen". Just my2c ;-)

> Gruß,
> Christoph

Gruß
	Gerhard
-- 
OOP? Frueher haben wir die Fehler selbst
programmiert, heute werden sie vererbt.



Reply to: