Wie kann ich die I / O-Nutzung unter Linux und anderen * nix-Betriebssystemen nachverfolgen?

15

Gelegentlich hämmert etwas auf meinem System auf die Festplatte. Ich möchte Daten protokollieren, die mich über die E / A-Nutzung pro Prozess informieren. Dann kann ich später darauf zurückgreifen und sehen, was dies weiterhin tut. Wie soll ich dieses Problem lösen? Bonuspunkte für die Lösung dieses Problems für beliebige Blockgeräte.

kbyrd
quelle

Antworten:

12

Ich würde es iotopversuchen (nur Linux). Es ist ziemlich gut darin, Ihnen die Prozesse mit hohen E / A-Übertragungen bereitzustellen, dient jedoch iotopeher zur Anzeige des aktuellen Status als zur Protokollierung.

Für die Protokollierung sarist immer ein gutes Werkzeug für Leistungsaspekte.

txwikinger
quelle
1
Erwähnenswert ist, dass iotop nur Linux ist. (Zumindest bin ich mir zu 99% sicher, dass es so ist)
Xenoterracide
sar ist auch für alle Unix-Versionen verfügbar, mit denen ich jemals gearbeitet habe.
txwikinger
2
Auf Ubuntu-Systemen (dies könnte für alle Linux-Betriebssysteme gelten) gibt es einige Debatten, bei denen das Wetter iotopkorrekt funktioniert. Siehe bugs.launchpad.net/ubuntu/+source/linux/+bug/493156
Stefan Lasiewski
@Stefan: Was ich gelesen habe, betrifft nur Distributionen, deren Kernel mit aktiviertem CONFIG_TASK_DELAY_ACCT konfiguriert wurde. Gibt es noch etwas in dem Thread, den ich verpasst habe?
Steven D