Linux vmstat-Befehl
Was ist der Befehl vmstat
vmstat (Statistiken zum virtuellen Speicher) ist ein leistungsstarkes Tool zur Leistungsüberwachung auf Linux-Systemen, das wichtige Leistungskennzahlen in Echtzeit melden kann, wie Systemprozesse, Speicher, Swap-Partitionen, E/A-Blöcke und CPU-Aktivität.
Kernfunktionen
- Speicherüberwachung: Zeigt die Nutzung des physischen Speichers und des Swap-Speichers an
- CPU-Auslastung: Zeigt den Anteil von Benutzerprozessen, Systemprozessen und Leerlaufzeit an
- Prozessstatus: Meldet die Anzahl der laufenden, wartenden und blockierten Prozesse
- I/O-Statistiken: Liefert detaillierte Informationen zu Lese-/Schreibvorgängen auf Blockgeräten
Grundlegende Syntax und allgemeine Parameter
Grundlegendes Syntaxformat
vmstat [选项] [时间间隔] [次数]
Beschreibung der allgemeinen Parameter
| Parameter | Beschreibung |
|---|---|
-a |
Aktiven und inaktiven Speicher anzeigen |
-d |
Festplattenstatistiken anzeigen |
-p |
Statistiken für eine angegebene Festplattenpartition anzeigen |
-s |
Eine Zusammenfassung der speicherbezogenen Statistiken anzeigen |
-m |
Slab-Informationen anzeigen |
-t |
Zeitstempel zur Ausgabe hinzufügen |
-S |
Anzeigeeinheit angeben (k/K/m/M, die jeweils für 1000/1024/1000000/1048576 stehen) |
Details zu den Ausgabefeldern
ExecutevmstatNach der Ausführung des Befehls wird die Ausgabe normalerweise in folgende Teile unterteilt:
1. Prozessinformationen
procs r: 运行队列中的进程数量 b: 等待 I/O 的进程数量
2. Speicherinformationen
memory swpd: 使用的虚拟内存大小(KB) free: 空闲的物理内存大小(KB) buff: 用作缓冲区的内存大小(KB) cache: 用作缓存的内存大小(KB)
3. Informationen zur Swap-Partition
swap si: 每秒从磁盘读入交换区的内存大小(KB/s) so: 每秒写入磁盘的交换区内存大小(KB/s)
4. I/O-Informationen
io bi: 每秒从块设备接收的块数(blocks/s) bo: 每秒发送到块设备的块数(blocks/s)
5. Systeminformationen
system in: 每秒中断数(包括时钟中断) cs: 每秒上下文切换次数
6. CPU-Auslastung
cpu us: 用户进程占用 CPU 时间百分比 sy: 系统进程占用 CPU 时间百分比 id: 空闲 CPU 时间百分比 wa: 等待 I/O 的 CPU 时间百分比 st: 被虚拟机偷取的时间百分比
Praktische Beispiele erklärt
Beispiel 1: Grundlegende Überwachung (Aktualisierung alle 2 Sekunden)
Beispiel
Beispielausgabe:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 123456 78900 456789 0 0 5 12 345 6789 10 5 85 0 0
Beispiel 2: Festplattenstatistiken anzeigen
Beispiel
Die Ausgabe zeigt Lese-/Schreibstatistiken für jede Festplatte, einschließlich der Anzahl der Lese-/Schreiboperationen und Sektoren.
Beispiel 3: Überwachung mit Zeitstempeln (alle 5 Sekunden, insgesamt 3 Mal)
Beispiel
Die Ausgabe fügt vor jeder Zeile einen Zeitstempel hinzu, was das Aufzeichnen und Analysieren erleichtert.
Leitfaden zur Diagnose von Leistungsproblemen
1. Ermittlung von CPU-Engpässen
- Hoher us-Wert: Benutzerprozesse verbrauchen viel CPU; möglicherweise muss die Anwendung optimiert werden.
- Hoher sy-Wert: Der Systemkernel verbraucht viel CPU; möglicherweise gibt es zu viele Systemaufrufe.
- Hoher wa-Wert: Lange I/O-Wartezeit; möglicherweise ein Festplattenengpass.
2. Diagnose von Speicherproblemen
- si/so dauerhaft ungleich null: Zeigt an, dass das System die Swap-Partition verwendet; der physische Speicher ist möglicherweise unzureichend.
- free-Wert kontinuierlich abnehmend: Mögliches Speicherleck.
3. Probleme mit blockierenden Prozessen
- Großer Wert in Spalte b: Zeigt an, dass mehrere Prozesse auf E/A-Operationen warten.
Best-Practice-Vorschläge
- Auswahl des Überwachungsintervalls: Für Produktionsumgebungen wird ein Intervall von 5-10 Sekunden empfohlen, um die Systemleistung nicht zu beeinträchtigen.
- Langfristige Überwachung: Kombinieren mit
nohupAusgabe in eine Datei umleitennohup vmstat 10 360 > vmstat.log &
- Umfassende Analyse: Kombinieren mit
top、iostatund andere Tools zur gemeinsamen Verwendung - Benchmark-Tests: Erfassen Sie Basisdaten, wenn das System normal ist, zum Vergleich bei Auftreten von Anomalien.
FAQ
Q1: Was ist der Unterschied zwischen den Befehlen vmstat und top?
topBietet detaillierte Informationen auf ProzessebenevmstatBietet einen Überblick über die gesamte Systemressourcennutzung
F2: Was bedeutet es, wenn die si/so-Werte sehr hoch sind?
Es weist darauf hin, dass das System häufig die Swap-Partition verwendet, möglicherweise aufgrund unzureichenden physischen Arbeitsspeichers. Es wird empfohlen, mehr Speicher hinzuzufügen oder den Speicherverbrauch der Anwendung zu optimieren.
F3: Wie überwacht man eine bestimmte Festplatte?
Verwenden Sie die-pParameter zur Angabe der Festplattenpartition:
Beispiel
Durch die Beherrschung des vmstat-Befehls können Sie Leistungsengpässe in Linux-Systemen schnell diagnostizieren und Datenunterstützung für die Systemoptimierung bereitstellen. Es wird empfohlen, ihn in der Praxis mit anderen Überwachungstools zu kombinieren, um einen umfassenderen Überblick über die Systemleistung zu erhalten.
Andere Erweiterungen
Linux-Befehlsreferenz