Einführung
Die vmstat
Der Befehl (kurz für Virtual Memory Statistics) ist ein integriertes Überwachungsdienstprogramm in Linux. Der Befehl wird verwendet, um Informationen über Speicher, Systemprozesse, Paging, Interrupts, Block-I/O, Festplatte und CPU-Planung zu erhalten. Benutzer können die Systemaktivität praktisch in Echtzeit beobachten, indem sie einen Abtastzeitraum angeben.
Der Befehl hilft Ihnen, Leistungsengpässe zu identifizieren und Probleme in Ihrem System zu diagnostizieren.
In diesem Tutorial erfahren Sie, wie Sie den vmstat-Befehl unter Linux verwenden.
Voraussetzungen
- Eine Maschine, auf der Linux ausgeführt wird
- Ein Konto mit sudo/root-Berechtigungen
Linux vmstat-Befehlssyntax
Die grundlegende vmstat
Syntax ist:
vmstat [options][delay [count]]
- Optionen – verschiedene Schalter zum Anpassen der Ausgabe.
- Verzögerung – definiert die verstrichene Zeit zwischen Ausgabeaktualisierungen.
- Zählen – die Anzahl der Ausgangsaktualisierungen nach dem angegebenen Verzögerungsintervall. Wenn count nicht festgelegt ist, ist der Standardwert unendlich .
Die Liste der verfügbaren Optionen:
Option: | Beschreibung: |
-a | Zeigt aktiven und inaktiven Speicher an. |
-f | Zeigt die Anzahl der Forks seit dem Booten an. |
-m | Zeigt Plattenstatistiken an. |
-n | Zeigt die Kopfzeile nur einmal und nicht regelmäßig an. |
-s | Zeigt eine Tabelle mit verschiedenen Ereigniszählern und Speicherstatistiken an. |
-d | Zeigt Datenträgerstatistiken an. |
-D | Detaillierter Festplattenaktivitätsbericht. |
-p | Detaillierte Partitionsstatistiken. |
-t | Fügt dem Bericht einen Zeitstempel hinzu. |
-S [unit] | Schaltet die Ausgabeeinheiten um. |
-V | Zeigt Versionsinformationen an. |
-h | Zeigt Hilfe an. |
man vmstat | Zeigt ein Benutzerhandbuch im Terminal an. |
Verwendung von vmstat
Dievmstat Befehl ist ein Teil von sysstat, Systemüberwachungstools, die CPU- und Gerätestatistiken und -berichte generieren. Das sysstat-Paket ist standardmäßig unter Linux verfügbar.
1. Wenn Sie vmstat nicht haben Installieren Sie es auf Ihrem Computer, indem Sie Folgendes ausführen:
Für CentOS- und RHEL-Systeme:
sudo yum install sysstat
Für Fedora 22+ Systeme:
sudo dnf install sysstat
Für Ubuntu- und Debian-basierte Systeme:
sudo apt-get install sysstat
Für Arch Linux:
sudo pacman -S sysstat
2. Geben Sie Ihr Passwort ein und warten Sie, bis die Installation abgeschlossen ist.
3. Führen Sie vmstat aus ohne Parameter, um einen Systembericht mit durchschnittlichen Statistiken anzuzeigen seit dem letzten Start.
4. Verwenden Sie für zusätzliche Berichte vmstat options , Verzögerung, und zählen .
Grundlegende vmstat-Ausgabe
Die grundlegende Ausgabe von vmstat
Befehl zeigt Systeminformationen in sechs Abschnitten an.
1. Prozesse – Prozessstatistik
- r – Aktiv Prozess zählen.
- b – Schlafen Prozess zählen.
2. Speicher – Speicherstatistik
- swpd – Gesamter virtueller Speicher . Der Auslagerungsbereich ist zunächst unbelegt. Der Kernel beginnt jedoch, Auslagerungsspeicher zu verwenden, wenn der physische Speicher des Systems seine Grenze erreicht.
- kostenlos – Insgesamt kostenlos Erinnerung .
- buff – GesamtSpeicher vorübergehend als Datenpuffer verwendet .
- zwischenspeichern – Gesamter Cache-Speicher .
3. tauschen – Swap-Space-Statistiken
- si – Der Kurs des Austauschens Speicher von der Festplatte.
- also – Der Kurs des Austauschens Speicher auf Festplatte.
4. io – Input/Output-Statistiken
- bi – Blöcke empfangen von einem Blockgerät pro Sekunde.
- bo – Blöcke gesendet zu einem Blockgerät pro Sekunde.
5. System – Planungsstatistik
- in – Die Anzahl der Systemunterbrechungen .
- cs – Die Anzahl der Kontextwechsel pro Sekunde.
6. Prozessor – CPU-Statistik
- uns – Der Prozentsatz der CPU Zeitaufwand für Nicht-Kernel-Prozesse .
- sy – Der Prozentsatz der CPU für Kernel-Prozesse aufgewendete Zeit .
- id – Der Prozentsatz der im Leerlauf befindlichen CPU.
- wa – Der Prozentsatz der CPU Wartezeit auf Input/Output .
- st – Der Prozentsatz der CPU Zeit gestohlen durch eine virtuelle Maschine.
Aktiven und inaktiven Systemspeicher anzeigen
Aktiv Speicher ist Speicher, der von einem Prozess verwendet wird. Inaktiv Speicher ist Speicher, der einem Prozess zugewiesen wurde, der nicht mehr läuft.
Mit -a
Option ersetzt den Buff und zwischenspeichern Speicherspalten mit inact und aktiv Säulen. Diese Spalten zeigen die Menge an inaktivem und aktivem Speicher in einem System an.
Um die Informationen anzuzeigen, führen Sie diesen Befehl aus:
vmstat -a
Die Ausgabe zeigt Speicherstatistiken in Kilobyte standardmäßig. Um einen Bericht mit Megabyte zu erstellen, verwenden Sie -S
Option.
Speicher- und Planungsstatistik
Führen Sie den folgenden Befehl aus, um detailliertere Informationen zu Arbeitsspeicher, Ereigniszählern und CPU-Planungsstatistiken zu generieren:
vmstat -s
Die Ausgabe zeigt einen ähnlichen Bericht wie vmstat
Basisbericht, mit weiteren Details in einigen Abschnitten. Zum Beispiel teilt die Ausgabe das nette und unschöne CPU-Zeit , die in der grundlegenden vmstat
zusammengefasst sind melden.
Die Ausgabe enthält vier Abschnitte:
1. Der erste Abschnitt der Ausgabe befasst sich mit derMenge des verwendeten Speichers:
- Gesamtes physisches Gedächtnis.
- Derzeit verwendeter Speicher.
- Aktives Gedächtnis.
- Inaktiver Speicher.
- Kostenlos Erinnerung.
- Puffer Erinnerung.
- Zwischenspeichern Erinnerung.
- Wechseln Speicherinformationen.
2. Der zweite Abschnitt zeigt CPU-Statistiken: an
- Non-nice CPU Ticks – die Häufigkeit, mit der die CPU für hohe Priorität verwendet wurde Prozesse.
- Nice CPU Ticks – die Häufigkeit, mit der die CPU für niedrigere Priorität verwendet wurde Prozesse.
- System-CPU-Ticks – die Häufigkeit, mit der die CPU für Kernel-Prozesse verwendet wurde
- CPU-Idle-Ticks – wie oft die CPU im Leerlauf war
- IO-wait – die Häufigkeit, mit der die CPU für die Eingabe-/Ausgabeverwaltung verwendet wurde
- IRQ – wie oft die CPU Interrupt-Anforderungen erhalten hat
- softirq – wie oft die CPU Software-Interrupts empfangen hat
- gestohlene CPU-Ticks – wie oft eine virtuelle Maschine CPU-Zeit gestohlen hat.
3. Der dritte Abschnitt zeigtWerte in Bezug auf Speicher-Paging:
- Gesamtzahl eingeblätterter Seiten aus dem virtuellen Speicher.
- Gesamtzahl ausgelagerter Seiten in den virtuellen Speicher.
- Gesamtzahl der gelesenen Seiten Speicher austauschen.
- Gesamtzahl der Seiten, auf die geschrieben wurde Speicher austauschen.
4. Der letzte Abschnitt beschreibt verschiedene Ereigniszähler:
- Die Anzahl der Unterbrechungen seit Booten.
- Die Anzahl der Kontextwechsel durchgeführt.
- Der Zeitstempel zum letzten Startzeitpunkt.
- Die Gesamtzahl der Forks.
Anzahl der Forks seit dem Booten anzeigen
Forks sind neue Prozesse erstellt aus bestehenden laufenden. Führen Sie den folgenden Befehl aus, um die Anzahl der seit dem Systemstart erstellten Forks anzuzeigen:
vmstat -f
Die Ausgabe zeigt die Anzahl der seit dem Systemstart erstellten Forks.
Schnelle Zusammenfassung der Datenträgerstatistik anzeigen
Das -D
Option generiert eine schnelle zusammenfassende Statistik aller Festplattenaktivitäten. Führen Sie den folgenden Befehl aus:
vmstat -D
Die Ausgabe zeigt die Systemdetails, wie die Anzahl der Festplatten, Partitionen, die Anzahl der Lese- und Schreibvorgänge usw.
Festplattenstatistik anzeigen (Lese-/Schreibstatistik)
Um eine detaillierte Statistik zu jeder Festplattennutzung zu erhalten, verwenden Sie -d
Möglichkeit:
vmstat -d
Die Ausgabe zeigt drei Spalten für jede Festplatte – Reads , Schreibt und IO . Lese- und Schreibvorgänge werden in Millisekunden gemessen , während die IO-Spalte in Sekunden gemessen wird .
Jede Spalte hat mehrere Unterabschnitte:
1. Liest:
- insgesamt :Die Gesamtzahl der Festplattenlesevorgänge.
- fusioniert :Die Gesamtzahl der gruppierten Reads.
- Sektoren :Die Gesamtzahl der eingelesenen Sektoren.
- ms :Die Gesamtzeit in Millisekunden, die zum Lesen von Daten von der Festplatte benötigt wurde.
2. Schreibt:
- insgesamt :Die Gesamtzahl der Festplattenschreibvorgänge.
- fusioniert :Die Gesamtzahl der gruppierten Schreibvorgänge.
- Sektoren :Die Gesamtzahl der Sektoren, in die geschrieben wurde.
- ms :Die Gesamtzeit in Millisekunden, die zum Schreiben von Daten auf die Festplatte benötigt wurde.
3. IO:
- akt :Gesamtzahl der aktuellen Lese- oder Schreibvorgänge auf der Festplatte.
- Sek. :Für laufende Lese- oder Schreibvorgänge aufgewendete Zeit in Sekunden.
Partitionsstatistik anzeigen
Generieren Sie mit -p
einen Bericht, der sich auf eine bestimmte Partition bezieht Option, gefolgt von einem Partitionsnamen:
vmstat -p [partition_identifier]
In diesem Beispiel zeigt die Ausgabe die Zusammenfassung für sda1 , die erste Partition des sda-Geräts. Die Zusammenfassung enthält die Festplatte gelesen und schreiben zählen Sie auf diese Partition und die Gesamtzahl der Sektoren an Lese- und Schreibaufgaben auf der Festplatte beteiligt.
Zeitstempelinformationen für Updates anzeigen
Um einen Zeitstempel zusammen mit einer angeforderten Ausgabe zu erhalten, verwenden Sie -t
Möglichkeit:
vmstat -t
Die Ausgabe ist die gleiche wie beim grundlegenden vmstat
Ausgabe mit einem hinzugefügten Zeitstempel.
Verwenden Sie einen Verzögerungswert
Der [delay]
-Syntax gibt die Zeit an, die zwischen jeder Ausgabeaktualisierung verstrichen ist, ausgedrückt in Sekunden. Verwenden Sie die folgende Syntax:
vmstat [delay]
In diesem Beispiel gibt es eine dreisekündige Verzögerung zwischen jeder Berichtsaktualisierung.
Wenn keine Verzögerung angegeben ist, nur eine Ausgabe wird gedruckt und gibt Durchschnittswerte an seit dem letzten Neustart.
Verwenden Sie einen Zählwert
Der Zählwert lässt vmstat
wissen, wie viele Aktualisierungen durchgeführt werden müssen, bevor die Ausgabe nicht mehr aktualisiert wird. Um einen Befehl unendlich oft auszuführen, lassen Sie [count]
weg Syntax.
Die Syntax zur Verwendung des Zählwerts lautet:
vmstat [delay[count]]
In diesem Beispiel haben wir angegeben, dass wir eine Verzögerung von fünf Sekunden und drei Ausgabeaktualisierungen wünschen.
Einheiten ändern
Die Standardeinheit für die Anzeige von Speicher- und Auslagerungsstatistiken ist Kilobyte . Verwenden Sie zum Ändern der Ausgabeeinheiten das -S
Option und eines der folgenden Argumente:
- k :1000 Byte.
- K :1024 Byte.
- m :1000000 Byte.
- M :1048576 Bytes.
Um die Statistiken in dezimalen Kilobyte und Megabyte anzuzeigen, verwenden Sie k und m , bzw. Großbuchstabe K und M Statistiken in hexadezimalen Kilobyte und Megabyte anzeigen.
Verwenden Sie beispielsweise den folgenden Befehl, um die Statistiken alle 5 Sekunden zu aktualisieren und die Anzeigeeinheiten in Megabyte: zu ändern
vmstat 5 -S M
Die Ausgabe zeigt jetzt die Speicher- und Auslagerungsstatistik in Megabyte.
Statistiken für Platten anzeigen
Slab Allocation ist ein Speicherverwaltungssystem zum effizienten Zuweisen von Speicher zu verschiedenen Datenobjekten, die der Kernel verarbeitet.
Um Slab-Statistiken anzuzeigen, verwenden Sie -m
Möglichkeit. Beachten Sie, dass diese Aktion Superuser-Berechtigungen erfordert . Führen Sie den folgenden Befehl aus:
sudo vmstat -m
Die Ausgabe besteht aus fünf Spalten:
1. Zwischenspeichern :Zwischengespeicherter Datenname.
2. Anzahl :Gesamtzahl aktiver Objekte im Num-Cache.
3. Gesamt :Die Anzahl verfügbarer Objekte in einem bestimmten Cache.
4. Größe :Die Größe jedes zwischengespeicherten Objekts.
5. Seiten :Die Anzahl der Speicherseiten, die ein zwischengespeichertes Objekt enthalten.