Linux vmstat-Befehl

Linux 命令大全Linux-Befehlsreferenz


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

vmstat 2

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

vmstat -d

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

vmstat -t 5 3

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

  1. Auswahl des Überwachungsintervalls: Für Produktionsumgebungen wird ein Intervall von 5-10 Sekunden empfohlen, um die Systemleistung nicht zu beeinträchtigen.
  2. Langfristige Überwachung: Kombinieren mitnohupAusgabe in eine Datei umleiten
    nohup vmstat 10 360 > vmstat.log &
  3. Umfassende Analyse: Kombinieren mittop、iostatund andere Tools zur gemeinsamen Verwendung
  4. 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 Prozessebene
  • vmstatBietet 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

vmstat -p /dev/sda1

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.

Linux 命令大全Linux-Befehlsreferenz

Andere Erweiterungen