Alte Frage, vor kurzem gestoßen, aber die vorhandenen Antworten waren unzureichend.
IOWait Definition & Eigenschaften
IOWait (in der Regel %wa
oben gekennzeichnet) ist eine Unterkategorie von Leerlauf ( %idle
wird in der Regel als Leerlauf (mit Ausnahme definierter Unterkategorien) ausgedrückt), was bedeutet, dass die CPU nichts unternimmt. Solange es einen anderen Prozess gibt, den die CPU verarbeiten könnte, wird dies daher durchgeführt. Außerdem sind Leerlauf, Benutzer, System, iowait usw. ein Maß für die CPU. Mit anderen Worten, Sie können sich iowait als den Leerlauf vorstellen, der durch das Warten auf io verursacht wird.
Iowait ist genau die Zeit, die für das Empfangen und Behandeln von Hardware-Interrupts als Prozentsatz der Prozessor-Ticks aufgewendet wird. Software-Interrupts werden in der Regel als getrennt gekennzeichnet %si
.
Wichtigkeit und mögliches Missverständnis
IOWait ist wichtig, da es oft eine Schlüsselmetrik ist, um zu wissen, ob Sie einen Engpass bei IO haben. Das Fehlen von iowait bedeutet jedoch nicht zwangsläufig, dass Ihre Anwendung bei IO keinen Engpass aufweist. Stellen Sie sich zwei Anwendungen vor, die auf einem System ausgeführt werden. Wenn Programm 1 stark überlastet ist und Programm 2 eine hohe CPU- %user + %system
Auslastung aufweist , kann die CPU-Auslastung immer noch etwa ~ 100% betragen, und dementsprechend würde iowait 0 anzeigen Programm 1, weil dies alles aus Sicht der CPU ist.
Tools zum Erkennen von IOWait
Siehe Beiträge von Dave Cheney und Xerxes
Aber auch ein einfacher top
Wille wird sich zeigen %wa
.
IOWait reduzieren
Da wir jetzt fast in das Jahr 2013 eintreten, ist zusätzlich zu den anderen die Option von einfach fantastischen IO-Speichergeräten erschwinglich, nämlich SSDs. SSDs sind super !!!