Linux iotop Befehl

Linux 命令大全Linux-Befehlsenzyklopädie


iotop ist ein Linux-Systemüberwachungstool, das dem Befehl top ähnelt, sich jedoch auf die Anzeige der Festplatten-I/O-Nutzung konzentriert. Es kann die Festplatten-Lese-/Schreibaktivität jedes Prozesses im System in Echtzeit überwachen und Systemadministratoren dabei helfen, I/O-intensive Prozesse zu identifizieren.

Im Gegensatz zu Tools wie iostat bietet iotop eine prozessbasierte I/O-Überwachung, mit der sich die Lese-/Schreibgeschwindigkeit und die kumulierte I/O-Menge jedes Prozesses genau bestimmen lassen.


iotop installieren

Die meisten Linux-Distributionen installieren iotop nicht standardmäßig, daher muss es manuell installiert werden:

Beispiele

# Debian/Ubuntu-Systeme
sudo apt-get install iotop

# RHEL/CentOS-Systeme
sudo yum install iotop

# Fedora-Systeme
sudo dnf install iotop

# Arch Linux
sudo pacman -S iotop

Grundlegende Syntax

Das grundlegende Befehlsformat von iotop lautet wie folgt:

sudo iotop [选项]

Hinweis: iotop erfordert Root-Rechte zum Ausführen, da es auf die I/O-Statistiken des Kernels zugreifen muss.


Allgemeine Optionen und Parameter

Option Beschreibung
-ooder--only Nur Prozesse anzeigen, die tatsächlich I/O-Operationen ausführen
-boder--batch Nicht-interaktiver Modus, geeignet für die Verwendung in Skripten
-n NUM Anzahl der Iterationen im nicht-interaktiven Modus
-d SEC Aktualisierungsintervall festlegen (Sekunden)
-p PID Nur Prozesse mit der angegebenen PID überwachen
-u USER Nur Prozesse des angegebenen Benutzers überwachen
-Poder--processes Nur Prozesse anzeigen, keine Threads
-aoder--accumulated Kumulative E/A anstelle der Bandbreite anzeigen
-koder--kilobytes KB/s anstelle von B/s als Einheit verwenden
-toder--time Zeitstempel zur Ausgabe hinzufügen
-qoder--quiet Kopfzeileninformationen reduzieren (im nicht-interaktiven Modus automatisch aktiviert)

Tastenkürzel im interaktiven Modus

Im interaktiven Modus unterstützt iotop die folgenden Tastenkürzel-Operationen:

Tastenkürzel Funktion
Linke/rechte Pfeiltasten Sortierfeld ändern
r Sortierung umkehren
o Nur aktive E/A-Prozesse anzeigen (entspricht der Option -o)
p Prozess-/Thread-Anzeigemodus umschalten
a Kumulativen/Echtzeit-Anzeigemodus umschalten
q iotop beenden
i Prioritätsfilterung ändern (nur Prozesse mit höherer Priorität anzeigen)
Beliebige Taste Anzeigeaktualisierung erzwingen

Erklärung der Ausgabefelder

Die Ausgabe von iotop enthält mehrere Felder, und die Bedeutung jedes Feldes ist wie folgt:

  1. TID/PID: Thread-ID / Prozess-ID
  2. PRIO: I/O-Priorität (ionice-Wert unter Linux)
  3. USER: Prozessbesitzer
  4. DISK READ: Festplattenlesegeschwindigkeit
  5. DISK WRITE: Festplattenschreibgeschwindigkeit
  6. SWAPIN: Swap-Speicher-Nutzung in Prozent
  7. IO>: I/O-Nutzung in Prozent
  8. COMMAND: Prozessname

Anwendungsbeispiele

Beispiel 1: Grundlegende Überwachung

sudo iotop

Dies startet eine interaktive Oberfläche, die die I/O-Aktivität aller Prozesse anzeigt, sortiert nach I/O-Nutzung.

Beispiel 2: Nur aktive I/O-Prozesse anzeigen

sudo iotop -o

Oder drücken SieoTaste nach dem Ausführen von iotop, um nur Prozesse anzuzeigen, die derzeit I/O-Operationen ausführen.

Beispiel 3: Prozesse eines bestimmten Benutzers überwachen

sudo iotop -u apache

Nur die I/O-Aktivität der Prozesse des Benutzers apache überwachen.

Beispiel 4: Ausgabe im nicht interaktiven Modus

sudo iotop -b -n 3 -d 2

Im nicht interaktiven Modus ausführen, alle 2 Sekunden aktualisieren und nach 3 Ausgaben der Ergebnisse beenden.

Beispiel 5: Einen bestimmten Prozess überwachen

sudo iotop -p 1234

Nur die I/O-Aktivität des Prozesses mit PID 1234 überwachen.


Praktische Anwendungsszenarien

Szenario 1: Die Ursache einer Systemverlangsamung ermitteln

Wenn das System langsam reagiert, ausführen:

sudo iotop -o

So lässt sich schnell erkennen, welche Prozesse die Festplatte stark lesen/schreiben und dadurch einen System-I/O-Engpass verursachen.

Szenario 2: Datenbankleistung überwachen

Für Datenbankserver wie MySQL:

sudo iotop -u mysql -o

Speziell die I/O-Aktivität des Benutzers mysql überwachen, um die Festplattenlast der Datenbank zu analysieren.

Szenario 3: I/O-Aktivität regelmäßig aufzeichnen

sudo iotop -b -t -n 5 -d 10 > iotop_log.txt

Zeichnen Sie die I/O-Aktivität alle 10 Sekunden auf, insgesamt 5 Mal, und speichern Sie die Ergebnisse für die spätere Analyse in einer Datei.


Hinweise

  1. iotop erfordert, dass der Kernel die I/O-Accounting-Funktion unterstützt, die normalerweise in neueren Linux-Kernels aktiviert ist.
  2. In einigen virtualisierten Umgebungen meldet iotop I/O-Statistiken möglicherweise nicht genau.
  3. Häufiges Aktualisieren (z. B. Intervalle von weniger als 1 Sekunde) kann die Systemleistung beeinträchtigen.
  4. Kumulative I/O-Statistiken (Option -a) werden nach einem Systemneustart zurückgesetzt.
  5. Bei SSD-Geräten können hohe I/O-Wartezeiten darauf hinweisen, dass das Gerät seine Leistungsgrenze erreicht hat.

Alternative Tools

Wenn iotop nicht verfügbar ist, ziehen Sie die folgenden Alternativen in Betracht:

  1. dstat: Umfassendes Tool zur Leistungsüberwachung, enthält Festplatten-I/O-Statistiken
  2. atop: Fortgeschrittenes Systemüberwachungstool, enthält I/O-Statistiken auf Prozessebene
  3. nmon: AIX/Linux-Performance-Monitoring-Tool
  4. pidstat: Teil des sysstat-Toolkits, kann Prozess-I/O melden

Zusammenfassung

iotop ist ein leistungsstarkes Werkzeug für Linux-Systemadministratoren zur Überwachung der Festplatten-I/O-Aktivität. Durch die I/O-Überwachung auf Prozessebene lassen sich Leistungsengpässe schnell lokalisieren. Die Beherrschung der Verwendung von iotop kann Systemleistungsprobleme im Zusammenhang mit Festplatten-I/O effektiv diagnostizieren und lösen.


Linux 命令大全Linux-Befehlsenzyklopädie

Andere Erweiterungen