iostat — CPU- und Datenträger-I/O-Statistiken anzeigen
Praxis-Guide zu iostat: CPU-Auslastung und Festplatten-I/O messen, Engpässe per await, %util und aqu-sz aufspüren – Teil des sysstat-Pakets.
iostat zeigt dir in einem einzigen Blick, wie stark CPU und Datenträger ausgelastet sind – ideal, um I/O-Engpässe aufzuspüren, bevor sie deine Anwendungen ausbremsen. Das Werkzeug gehört zum Paket sysstat und muss auf vielen Systemen erst nachinstalliert werden. Wichtig: Die erste Ausgabe ist immer ein Durchschnitt seit dem letzten Bootvorgang – für aktuelle Werte misst du mit einem Intervall, etwa iostat -xz 2. Dieser Guide führt dich von den Grundlagen bis zu den erweiterten Kennzahlen wie %util, await und aqu-sz.
Grundlagen
iostat — Zeigt CPU- und Datenträger-I/O-Statistiken seit dem Systemstart.
iostatiostat INTERVAL — Zeigt die Statistiken fortlaufend alle INTERVAL Sekunden.
iostat 2iostat INTERVAL COUNT — Zeigt die Statistiken alle INTERVAL Sekunden, COUNT-mal.
iostat 2 10iostat -h — Lesefreundliche Ausgabe mit Einheiten-Suffixen.
iostat -hCPU-Statistiken
iostat -c — Zeigt ausschließlich die CPU-Statistiken.
iostat -c 1iostat -c 1 5 — Schneller CPU-Auslastungs-Snapshot (fünf Messungen im Sekundentakt).
iostat -c 1 5Datenträger-Statistiken
iostat -d — Zeigt ausschließlich die Datenträger-I/O-Statistiken.
iostat -diostat -d DEVICE — Zeigt die Statistiken für ein bestimmtes Gerät.
iostat -d sdaiostat -d DEVICE1 DEVICE2 — Zeigt die Statistiken für mehrere Geräte.
iostat -d sda nvme0n1iostat -p DEVICE — Zeigt die Statistiken für ein Gerät und alle seine Partitionen.
iostat -p sdaiostat -p ALL — Zeigt die Statistiken für alle Geräte und Partitionen.
iostat -p ALLErweiterte Statistiken
iostat -x — Zeigt erweiterte Statistiken: await, %util, Warteschlangengröße und mehr.
iostat -xiostat -xd INTERVAL — Erweiterte Datenträger-Statistiken in festen Intervallen. Häufigste Verwendung.
iostat -xd 1iostat -xd DEVICE INTERVAL — Erweiterte Statistiken für ein bestimmtes Gerät.
iostat -xd sda 2iostat -x -t — Erweiterte Statistiken mit Zeitstempeln.
iostat -x -t 1Ausgabe-Optionen
iostat -k — Zeigt die Statistiken in Kilobyte pro Sekunde.
iostat -kiostat -m — Zeigt die Statistiken in Megabyte pro Sekunde.
iostat -miostat -t — Gibt zu jedem Bericht einen Zeitstempel aus.
iostat -t 1iostat -y INTERVAL — Überspringt den ersten Bericht (Durchschnitt seit Boot) und zeigt nur Intervalldaten.
iostat -y 1iostat -z — Lässt inaktive Geräte in der Ausgabe weg.
iostat -z 1iostat -o JSON — Gibt die Ausgabe im JSON-Format aus.
iostat -o JSON 1 3iostat -N — Zeigt Device-Mapper-Namen für LVM-Volumes.
iostat -NSchlüsselmetriken erklärt
tps — Transfers pro Sekunde (I/O-Anfragen). Lese- und Schreiboperationen kombiniert.
kB_read/s, kB_wrtn/s — Gelesene/geschriebene Kilobyte pro Sekunde.
r/s, w/s — Lese-/Schreibanfragen pro Sekunde (im erweiterten Modus).
rkB/s, wkB/s — Gelesene/geschriebene Kilobyte pro Sekunde (im erweiterten Modus).
await — Durchschnittliche Zeit (ms) je I/O-Anfrage. Enthält Warteschlangen- plus Servicezeit.
r_await, w_await — Durchschnittliche Zeit (ms) für Lese- bzw. Schreibanfragen getrennt.
aqu-sz — Durchschnittliche Warteschlangengröße. Hohe Werte deuten auf I/O-Sättigung hin.
%util — Prozentualer Zeitanteil, in dem das Gerät I/O-Anfragen bearbeitet hat. 100 % = gesättigt.
rareq-sz, wareq-sz — Durchschnittliche Lese-/Schreib-Anfragegröße in Kilobyte.
Praxis-Muster
iostat -xdm 1 — Erweiterte Datenträger-Überwachung in Echtzeit in MB/s. Das Standard-Kommando für die I/O-Analyse.
iostat -xdm 1iostat -xd 1 | awk '$NF > 80' — Beobachtet Datenträger mit einer Auslastung über 80 %.
iostat -xd 1 | awk '$NF > 80'iostat -xdm -y 1 60 > iostat.log — Protokolliert 60 Sekunden I/O-Statistik (ohne Boot-Durchschnitt).
iostat -xdm -y 1 60 > iostat.log Fazit
iostat ist ein reines Lese-Kommando – es verändert nichts an deinem System und lässt sich daher gefahrlos auf Produktivservern einsetzen. Für die Praxis merkst du dir am besten iostat -xz 2: Das blendet inaktive Geräte aus, liefert die erweiterten Kennzahlen und misst echte Intervallwerte statt des Boot-Durchschnitts. Achte vor allem auf %util (Sättigung des Geräts), await (Antwortzeit inklusive Warteschlange) sowie r/s/w/s und aqu-sz. Ein hohes %util allein bedeutet bei modernen SSDs und NVMe-Laufwerken übrigens nicht zwangsläufig einen Engpass – sie verarbeiten viele Anfragen parallel; ziehe deshalb immer await und aqu-sz zur Bewertung hinzu.
Weiterführende Links
- ubuntuusers-Wiki: sysstat – deutschsprachige Einführung in sysstat und seine Werkzeuge
- man-page iostat(1) – offizielle Referenz aller Optionen und Kennzahlen