Der Befehl mpstat ist Teil des Sysstat-Satzes von Dienstprogrammen. Der Befehl mpstat wird verwendet, um Statistiken pro Prozessor in tabellarischer Form zu melden.
$ mpstat 1 1 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 672 0 2457 681 12 539 17 57 119 0 4303 18 10 0 73 1 90 0 1551 368 22 344 6 37 104 0 3775 17 4 0 79 2 68 0 1026 274 14 217 4 24 83 0 2393 11 3 0 86 3 50 0 568 218 9 128 3 17 56 0 1319 7 2 0 92 4 27 0 907 340 12 233 3 22 72 0 2034 9 2 0 88 5 75 0 1777 426 25 370 5 33 111 0 4820 22 4 0 74
In der vorherigen Ausgabe des Befehls mpstat repräsentiert jede Zeile der Tabelle die Aktivität eines Prozessors. Die erste Tabelle zeigt die Zusammenfassung der Aktivität seit dem Startzeitpunkt. Die wichtige Spalte, die aus Sicht eines DBA relevant ist, ist der Wert in der Spalte smtx. Die smtx-Messung gibt an, wie oft die CPU die gegenseitige Ausschlusssperre oder den Mutex nicht erhalten konnte. Mutex-Stallungen verschwenden CPU-Zeit und verschlechtern die Multiprozessor-Skalierung.
Als allgemeine Faustregel gilt, wenn die Werte in der smtx-Spalte größer als 200 sind, dann ist dies ein Symptom und Hinweis auf CPU-Engpässe, die untersucht werden müssen.
mpstat-Befehlsbeispiele
1. So melden Sie die Prozessorstatistiken:
# mpstat 2 10
2. So melden Sie alle Prozessorstatistiken:
# mpstat -A 2 10
3. So erhalten Sie die Prozessornummer, für die die Statistiken angezeigt werden:
# mpstat -P 2 10
4. So melden Sie die CPU-Auslastungsstatistiken:
# mpstat -u 2 10
5. So erhalten Sie die Versionsinformationen:
# mpstat -V
Schlussfolgerung
Standardmäßig gibt mpstat kombinierte gemittelte Statistiken für alle CPUs zurück. Flag -P kann verwendet werden, um Details zu bestimmten CPUs zu erhalten. Der folgende Befehl zeigt Statistiken für Prozessor eins (0) und Prozessor zwei (1) an und aktualisiert sie in einem Intervall von 3 Sekunden:
$ mpstat -P 0,1 3