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.

iostat

iostat INTERVAL — Zeigt die Statistiken fortlaufend alle INTERVAL Sekunden.

iostat 2

iostat INTERVAL COUNT — Zeigt die Statistiken alle INTERVAL Sekunden, COUNT-mal.

iostat 2 10

iostat -h — Lesefreundliche Ausgabe mit Einheiten-Suffixen.

iostat -h

CPU-Statistiken

iostat -c — Zeigt ausschließlich die CPU-Statistiken.

iostat -c 1

iostat -c 1 5 — Schneller CPU-Auslastungs-Snapshot (fünf Messungen im Sekundentakt).

iostat -c 1 5

Datenträger-Statistiken

iostat -d — Zeigt ausschließlich die Datenträger-I/O-Statistiken.

iostat -d

iostat -d DEVICE — Zeigt die Statistiken für ein bestimmtes Gerät.

iostat -d sda

iostat -d DEVICE1 DEVICE2 — Zeigt die Statistiken für mehrere Geräte.

iostat -d sda nvme0n1

iostat -p DEVICE — Zeigt die Statistiken für ein Gerät und alle seine Partitionen.

iostat -p sda

iostat -p ALL — Zeigt die Statistiken für alle Geräte und Partitionen.

iostat -p ALL

Erweiterte Statistiken

iostat -x — Zeigt erweiterte Statistiken: await, %util, Warteschlangengröße und mehr.

iostat -x

iostat -xd INTERVAL — Erweiterte Datenträger-Statistiken in festen Intervallen. Häufigste Verwendung.

iostat -xd 1

iostat -xd DEVICE INTERVAL — Erweiterte Statistiken für ein bestimmtes Gerät.

iostat -xd sda 2

iostat -x -t — Erweiterte Statistiken mit Zeitstempeln.

iostat -x -t 1

Ausgabe-Optionen

iostat -k — Zeigt die Statistiken in Kilobyte pro Sekunde.

iostat -k

iostat -m — Zeigt die Statistiken in Megabyte pro Sekunde.

iostat -m

iostat -t — Gibt zu jedem Bericht einen Zeitstempel aus.

iostat -t 1

iostat -y INTERVAL — Überspringt den ersten Bericht (Durchschnitt seit Boot) und zeigt nur Intervalldaten.

iostat -y 1

iostat -z — Lässt inaktive Geräte in der Ausgabe weg.

iostat -z 1

iostat -o JSON — Gibt die Ausgabe im JSON-Format aus.

iostat -o JSON 1 3

iostat -N — Zeigt Device-Mapper-Namen für LVM-Volumes.

iostat -N

Schlü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 1

iostat -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.

Verwandte Kommandos

  • vmstat – Statistiken zu Speicher, Prozessen und I/O im Überblick
  • top – Prozesse und Systemlast in Echtzeit beobachten
  • free – freien und belegten Arbeitsspeicher anzeigen