Linux mpstat-Befehl

Linux 命令大全Vollständige Linux-Befehlsreferenz


1. Übersicht über den mpstat-Befehl

mpstat (Multi-Processor Statistics) ist ein Werkzeug zur Leistungsüberwachung in Linux-Systemen und Teil des sysstat-Toolkits. Es wird hauptsächlich zur Überwachung der CPU-Auslastung verwendet und kann detaillierte Statistiken für jeden CPU-Kern anzeigen.

1.1 Hauptfunktionen

  • Detaillierte CPU-Auslastungsstatistiken anzeigen
  • Die Leistung eines einzelnen CPU-Kerns oder aller Kerne überwachen
  • Den Anteil der CPU-Zeit im Benutzermodus, Kernelmodus, Leerlauf und anderen Zuständen angeben
  • Intervallmessung und mehrfache Messungen unterstützen

1.2 Anwendungsszenarien

  • Systemleistungsoptimierung
  • CPU-Engpassanalyse
  • Prüfungen des Lastausgleichs bei Multi-Core-CPUs
  • Systemüberwachung und Fehlerbehebung

2. Installation und grundlegende Verwendung

2.1 Installationsmethoden

Die meisten Linux-Distributionen können es über den Paketmanager installieren:

# Ubuntu/Debian
sudo apt install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Arch Linux
sudo pacman -S sysstat

2.2 Grundlegendes Befehlsformat

mpstat [选项] [间隔时间] [采样次数]

Einfaches Beispiel

Beispiel

# Aktuelle Statistiken für alle CPU-Kerne anzeigen
mpstat

# Alle 2 Sekunden messen, insgesamt 5 Messungen
mpstat 2 5

3. Erläuterung der Befehlsoptionen

Option Beschreibung
-P {ALL|CPU-Nummer} Gibt an, welche CPU-Kerne angezeigt werden sollen (ALL bedeutet alle Kerne)
-u CPU-Auslastung anzeigen (Standardoption)
-I {SUM|CPU|SCPU|ALL} Interrupt-Statistiken anzeigen
-V Versionsinformationen anzeigen
-o JSON Ergebnisse im JSON-Format ausgeben

3.1 Häufige Optionskombinationen

Beispiel

# Alle CPU-Kerne überwachen, jede 1 Sekunde aktualisieren
mpstat -P ALL 1

# Nur den ersten CPU-Kern (CPU0) überwachen
mpstat -P 0 1 5

4. Analyse der Ausgabeergebnisse

Executempstat -P ALL 1die typische Ausgabe von:

Linux 5.4.0-91-generic (hostname)  03/15/2023  _x86_64_ (4 CPU)

10:30:45 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:30:46 AM  all    5.25    0.00    1.25    0.25    0.00    0.25    0.00    0.00    0.00   93.00
10:30:46 AM    0    6.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   93.00
10:30:46 AM    1    4.00    0.00    1.00    1.00    0.00    1.00    0.00    0.00    0.00   93.00
10:30:46 AM    2    6.00    0.00    2.00    0.00    0.00    0.00    0.00    0.00    0.00   92.00
10:30:46 AM    3    5.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   94.00

4.1 Bedeutung der einzelnen Felder

Feld Beschreibung
%usr Prozentsatz der Zeit, die für die Ausführung von Benutzermodus-Programmen aufgewendet wird
%nice Prozentsatz der Zeit, die für die Ausführung von Benutzermodusprogrammen mit niedriger Priorität aufgewendet wird
%sys Prozentsatz der Zeit, die für die Ausführung von Kernelmodus-Programmen aufgewendet wird
%iowait Prozentsatz der Zeit, die die CPU auf I/O-Operationen wartet
%irq Prozentsatz der Zeit, die für die Bearbeitung von Hardware-Interrupts aufgewendet wird
%soft Prozentsatz der Zeit, die für die Bearbeitung von Software-Interrupts aufgewendet wird
%steal Prozentsatz der Zeit, die eine virtuelle CPU auf die tatsächliche CPU wartet
%guest Prozentsatz der Zeit, die für die Ausführung virtueller Prozessoren aufgewendet wird
%gnice Prozentsatz der Zeit, die für die Ausführung von Gästen mit niedriger Priorität aufgewendet wird
%idle Prozentsatz der CPU-Leerlaufzeit

5. Praktische Anwendungsfälle

5.1 Überwachung der CPU-Auslastung

Beispiel

# Alle CPU-Kerne überwachen, alle 2 Sekunden aktualisieren, insgesamt 5-mal anzeigen
mpstat -P ALL 2 5

5.2 Engpässe identifizieren

Wichtige Schwerpunktbereiche:

  • %usr zu hoch: Programme im Benutzermodus verbrauchen viel CPU
  • %sys zu hoch: Häufige Systemaufrufe
  • %iowait zu hoch: Möglicherweise liegt ein I/O-Engpass vor

5.3 Leistungsberichte erstellen

Beispiel

# Ausgabe in eine Datei umleiten
mpstat -P ALL 1 60 > cpu_stats.log

6. Häufig gestellte Fragen

6.1 Was ist der Unterschied zwischen den Befehlen mpstat und top?

  • top: Zeigt den Gesamtsystemstatus in Echtzeit an
  • mpstat: Konzentriert sich auf CPU-Statistiken und bietet detailliertere Daten pro Kern

6.2 Worauf deutet ein sehr niedriger %idle-Wert hin?

Es weist darauf hin, dass die CPU stark ausgelastet ist; Sie müssen weitere Metriken zur Beurteilung heranziehen:

  • Wenn %usr hoch ist: Anwendungen verbrauchen viel CPU
  • Wenn %sys hoch ist: Zu viele Systemaufrufe
  • Wenn %iowait hoch ist: I/O wird zum Engpass

6.3 Wie überwacht man einen bestimmten CPU-Kern?

Beispiel

# Nur CPU-Kern 2 überwachen
mpstat -P 2 1

7. Zusammenfassung

mpstat ist ein wichtiges Werkzeug für die Leistungsüberwachung in Linux-Systemen und eignet sich besonders für die Analyse der Multicore-CPU-Auslastung. Nach dem Studium dieses Artikels sollten Sie in der Lage sein:

  1. Die grundlegenden Prinzipien und Einsatzszenarien von mpstat verstehen
  2. Die gängigen Befehlsoptionen von mpstat beherrschen
  3. Die Ausgabeergebnisse von mpstat korrekt interpretieren
  4. mpstat für die Leistungsanalyse in der Praxis einsetzen

Es wird empfohlen, es mit anderen Tools wievmstat、iostatzu kombinieren, um eine umfassendere Analyse von Systemleistungsproblemen zu erhalten.

Linux 命令大全Vollständige Linux-Befehlsreferenz

Andere Erweiterungen