Forums Neueste Beiträge
 

Bedeutung der I/O-Last (wait) in top

11/11/2009 - 19:23 von Hauke Laging | Report spam
Moin,

mir fàllt nach ein paar Jahren gerade auf, dass mir gar nicht so
richtig klar ist, was der Wert wait in top eigentlich meint. top
zeigt ja nur an, wofür die CPU-Zeit draufgeht (Summe 100%) und eben
nicht, was insgesamt so passiert.

Was mir gerade durch den Kopf geht: Da die CPU SATA-Platten ja nicht
pollt, kann CPU-Zeit doch nur dann in die Kategorie wait fallen,
wenn kein Prozess laufen könnte (auf der run queue ist), der KEIN
I/O machen will. Mit anderen Worten: Wenn wait bei 40% liegt, dann
wollten wàhrend 40% der Zeit *alle* Prozesse I/O machen (bzw.
warteten auf die Beendigung ihrer laufenden I/O-Operation). Ist das
richtig?

Das müsste ja andererseits bedeuten, dass wait niemals größer als 0%
werden könnte, wenn man eine Endlosschleife laufen làsst, die kein
I/O macht (nicht, dass das irgendwie sinnvoll wàre; es geht nur ums
Verstàndnis).


CU

Hauke
http://www.hauke-laging.de/ideen/
 

Lesen sie die antworten

#1 Joerg Hoh
11/11/2009 - 20:41 | Warnen spam
Hauke Laging schrieb
Moin,

mir fàllt nach ein paar Jahren gerade auf, dass mir gar nicht so
richtig klar ist, was der Wert wait in top eigentlich meint. top
zeigt ja nur an, wofür die CPU-Zeit draufgeht (Summe 100%) und eben
nicht, was insgesamt so passiert.

Was mir gerade durch den Kopf geht: Da die CPU SATA-Platten ja nicht
pollt, kann CPU-Zeit doch nur dann in die Kategorie wait fallen,
wenn kein Prozess laufen könnte (auf der run queue ist), der KEIN
I/O machen will. Mit anderen Worten: Wenn wait bei 40% liegt, dann
wollten wàhrend 40% der Zeit *alle* Prozesse I/O machen (bzw.
warteten auf die Beendigung ihrer laufenden I/O-Operation). Ist das
richtig?



Soweit richtig.

Das müsste ja andererseits bedeuten, dass wait niemals größer als 0%
werden könnte, wenn man eine Endlosschleife laufen làsst, die kein
I/O macht (nicht, dass das irgendwie sinnvoll wàre; es geht nur ums
Verstàndnis).



Im hypothetischen Fall ja. Allerdings dürfte der Kernel einiges an
Verwaltung rund um das I/O ebenfalls auf wait buchen (also
beispielsweise das Handling der Interrupts), so dass du diesen Wert 0%
wirklich nur bei einem vollstàndig idlenden System mit dieser
Endlosschleifen bekommen wirst.

Gruß
Jörg
What did you do to the cat? It looks half-dead. -Schroedinger's wife

Ähnliche fragen