Linux mpstat-Befehl
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
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
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
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
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 anmpstat: 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
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:
- Die grundlegenden Prinzipien und Einsatzszenarien von mpstat verstehen
- Die gängigen Befehlsoptionen von mpstat beherrschen
- Die Ausgabeergebnisse von mpstat korrekt interpretieren
- 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.