Erstmal
iostat installieren (Paket sysstat?). Dann mal
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.