Lösung 1:
iostat
kann solche Statistiken melden. Normalerweise in Ihrer Distribution im Paket sysstat enthalten.
dstat könnte auch einen Blick wert sein, es ist ein moderner Ersatz.
Lösung 2:
Wenn Sie IO-Accounting in Ihrem Kernel haben, können Sie iotop
verwenden solche Informationen zu geben. Außerdem können Überwachungstools wie collectd die Daten aufzeichnen und darüber berichten.
Lösung 3:
Um herauszufinden, was die hohe Auslastung verursacht, können Sie einige Dinge überprüfen.
vmstat -w
zeigt Ihnen ovierwiem (Prozesse, Swap, Mem, CPU, IO, System)pmstat -P ALL
liefert Ihnen Statistiken (mit %iowait) pro CPU-Kerniostat -x
Suchen Sie nach einem hohen %util oder langem Warten oder einer großen durchschnittlichen Warteschlangengröße- graben Sie tiefer mit
iotop
- graben Sie tiefer mit
ps -ax
Suchen Sie nach Zustand D, der unterbrechungsfreier Schlaf ist (normalerweise IO), führen Sie ihn noch einmal aus und prüfen Sie, ob sie sich noch im D-Zustand befinden- graben Sie tiefer mit strace
- Dateien und Verbindungen dieser Prozesse mit lsof und netstat prüfen
- sar/sysstat - mit diesem Tool können Sie nicht nur "Jetzt"-Statistiken untersuchen, sondern auch überprüfen, was gestern um Mitternacht passiert ist
sar -b
- allgemeine io-Aktivitätensar -d
- individuelle Block-Geräte-IO-Aktivitäten