CPU auf wa - wo nach Ursachen suchen?

bombaldi

New Member
Meine Cpu kommt seltsamerweise immer mal wieder auf viel wa und lastet damit den ganzen Server aus, load betraegt dann ~ 80-90...

Daher also meine Frage: Wie kann ich die Ursache dafuer ausfindig machen?
 
Erstmal iostat installieren (Paket sysstat?). Dann mal
Code:
iostat -x 10
laufen lassen, während die I/O-Werte hoch sind.

Interessant sind die Spalten await und svctm. Unter svctm wird die Servicetime der Platte angezeigt, d.h. der Wert, mit dem normalerweise die Zugriffszeit der Platte (in ms) beworben wird. Das sollte im einstelligen Bereich liegen, oder die Platte ist Schuld. Das await ist die durchschnittliche Wartezeit, die ein Prozeß warten mußte, nachdem er den I/O abgeschickt hat. Wenn hier deutlich größere Werte als in svctm stehen, dann kommt die Wartezeit durch die Schlange der I/Os. Das ist wie bei der Supermarktkasse. Wenn das Kassieren 1 Minute dauert, bin ich trotzdem erst in 13 Minuten fertig, wenn noch 12 Leute vor mir stehen. In dem Fall ist die Menge das Problem.

Mit top nach Prozessen schauen, die in der Spalte S ein D stehen haben (diskwait). Da fallen die Verursache meistens auf.

Übrigens macht I/O-Wait nicht die CPU dicht. Das ist nur einfach die Zeit, in der die CPU nichts besseres tun kann, weil es nur Prozesse gibt, die gerade auf einen I/O warten. Wenn es was zu zun gäbe, dann würde der Zustand nicht auftreten.
 
Last edited by a moderator:
Back
Top