Linux Vmstat-Befehl

Linux Vmstat Befehl



In dieser Anleitung demonstrieren wir die verschiedenen Möglichkeiten, den Befehl „vmstat“ unter Linux zu verwenden.

Voraussetzungen:

Um die in diesem Handbuch gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten:

  • Ein richtig konfiguriertes Linux-System. Zu Testzwecken, Erwägen Sie die Verwendung einer Linux-VM .
  • Zugang zu einem Nicht-Root-Benutzer mit Sudo-Berechtigung
  • Grundlegendes Verständnis der Befehlszeilenschnittstelle

Virtueller Speicher unter Linux

Der physische Speicher, auch RAM genannt, ist in seiner Größe endlich. Der Kernel ist dafür verantwortlich, diesen Speicherplatz an alle laufenden Programme zu verteilen. Alle laufenden Programme (einschließlich des Betriebssystems) befinden sich im RAM.







Wenn jedoch der Speicherbedarf höher ist als der verfügbare Speicher, stürzt das System einfach ab (oder das Programm fordert mehr Speicherplatz an). In den meisten Situationen ist das ein unerwünschtes Ergebnis. Hier kommt der virtuelle Speicher ins Spiel.



Unter virtuellem Speicher versteht man einen dedizierten Speicherplatz auf Ihrer Festplatte/SSD, der in Notsituationen als zusätzlicher Speicher dienen kann. Da es als RAM-Speicherplatz fungiert (aber nicht wirklich), wird es als „virtuell“ betrachtet. In UNIX/Linux-Systemen werden diese Räume als Swap Spaces bezeichnet.



Der Linux-Kernel verschiebt die Speicherblöcke in den Auslagerungsraum und ruft sie bei Bedarf wieder in den RAM ab.





Die Leistung des virtuellen Speichers ist definitiv langsamer als die des physischen Speichers und steht in direktem Verhältnis zur Leistung des Speichergeräts. Bei bestimmten Hardwarekonfigurationen (z. B. mit NVMe-SSD) kann die Leistung jedoch der von RAM entsprechen.

Der Vmstat-Befehl

Der Befehl „vmstat“ ist ein Überwachungstool, das verschiedene Informationen über den virtuellen Speicher meldet. Es ist auf allen Linux-Systemen als Teil des „sysstat“-Pakets verfügbar.



Die Befehlsstruktur von „vmstat“ ist wie folgt:

$ vmstat < Optionen > < Verzögerung > < zählen >

Grundlegende Verwendung

Wenn es ohne Parameter ausgeführt wird, gibt „vmstat“ die Systeminformationen seit dem letzten Start aus:

$ vmstat

Die Ausgabe ist in sechs Segmente unterteilt:

  • Prozesse : Statistik der Prozesse, die derzeit ausgeführt werden
    • R : Anzahl der aktiven Prozesse
    • B : Anzahl der Schlafvorgänge
  • Erinnerung : Statistiken zur Speichernutzung
    • swpd : Gesamtmenge des virtuellen Speichers (Swap Space)
    • frei : Verfügbarer Swap-Speicherplatz
    • polieren : Die Menge an Auslagerungsspeicher, der als temporärer Pufferspeicher verwendet wird
    • Zwischenspeicher : Gesamter Cache-Speicher
  • tauschen : Statistiken über den Swap-Space
    • Ja : Einlagerungsrate
    • Also : Austauschrate
  • Das : E/A-Statistiken
    • mit einem : Anzahl der von den Blockgeräten empfangenen Blöcke
    • Sei : Anzahl der an Blockgerät(e) gesendeten Blöcke
  • System : Statistiken zur Terminplanung
    • In : Anzahl der Systeminterrupts
    • cs : Rate der Kontextwechsel
  • CPU : Verschiedene CPU-Statistiken
    • uns : CPU verbringt Zeit mit Nicht-Kernel-Prozessen
    • Und : CPU verbringt Zeit mit Kernelprozessen
    • Ausweis : CPU verbringt Zeit im Leerlauf
    • von : Die CPU verbringt Zeit damit, auf den Abschluss von E/A-Vorgängen zu warten
    • st : CPU-Zeit, die von einer virtuellen Maschine verwendet wird

Wechseln der Anzeigeeinheit

Standardmäßig meldet „vmstat“ die Speicherwerte in Kilobyte. Um die Einheit zu ändern, verwenden Sie die Schaltfläche „ -S ' Flagge:

$ vmstat -S < Streit >

Hier gibt „vmstat“ die Werte in Megabyte aus.

Es stehen mehrere Speichereinheiten zur Verfügung:

  • M : 1048576 Bytes (2^20 Byte)
  • M : 1000000 Bytes (1000 Kilobyte)
  • K : 1024 Byte (1 Megabyte)
  • k : 1000 Bytes (1 Kilobyte)

Kontinuierliche Statistikaktualisierung

Standardmäßig druckt „vmstat“ den Bericht einmal. Wir können „vmstat“ jedoch anweisen, kontinuierliche Berichte in einem bestimmten Zeitintervall (in Sekunden) bereitzustellen.

Die Befehlsstruktur ist wie folgt:

$ vmstat < Verzögerung >

Um beispielsweise alle 2 Sekunden die aktualisierten Statistiken abzurufen, lautet der Befehl wie folgt:

$ vmstat 2

Die Ausgabe wird nicht gestoppt, es sei denn, sie wird manuell mit „Strg + C“ beendet.

Alternativ können wir „vmstat“ angeben, um die Statistiken für eine bestimmte Anzahl von Malen bereitzustellen:

$ vmstat < Verzögerung > < zählen >

Um beispielsweise fünfmal alle 2 Sekunden die aktualisierten Statistiken abzurufen, sieht der Befehl wie folgt aus:

$ vmstat 2 5

Aktiver und inaktiver Speicher

Aktiver Speicher bezieht sich auf den Speicherplatz, der aktuell von einem Prozess verwendet wird. Andererseits bezieht sich inaktiver Speicher auf den Speicherplatz, der einem Prozess zugewiesen wurde, der nicht mehr ausgeführt wird.

Mit „vmstat“ können wir die Menge der verwendeten aktiven und inaktiven Speicher überprüfen:

$ vmstat -A

Hier werden die Spalten „Buff“ und „Cache“ durch die Spalten „inaktiv“ bzw. „aktiv“ ersetzt.

Speicher und Planung

Um einen detaillierteren Bericht über Speicher und Planung zu erhalten, verwenden Sie den folgenden Befehl:

$ vmstat -S

Hier:

  • Abschnitt 1: Dieser Abschnitt befasst sich mit den grundlegenden Systeminformationen wie dem gesamten physischen Speicher, dem aktiven/inaktiven Speicher, dem freien/Puffer-/Cache-Speicher usw.
  • Abschnitt 2: Verschiedene CPU-Statistiken
    • Unschöne CPU-Ticks : Wie oft die Prozesse mit hoher Priorität die CPU genutzt haben.
    • Schöne CPU-Ticks : Die Häufigkeit, mit der die Prozesse mit niedrigerer Priorität die CPU genutzt haben.
    • System-CPU tickt : Die Häufigkeit, mit der die Kernelprozesse die CPU beansprucht haben.
    • Leerlauf-CPU tickt : Die Häufigkeit, mit der die CPU im Leerlauf war.
    • IO-warte CPU-Ticks : Die Häufigkeit, mit der die CPU auf die E/A-Verwaltung wartet.
    • IRQ : Die Häufigkeit, mit der die CPU die Interrupt-Anforderungen empfangen hat.
    • Softirq : Die Häufigkeit, mit der die CPU die Software-Interrupt-Anforderungen empfangen hat.
    • gestohlene CPU-Ticks : Die Häufigkeit, mit der VMs die CPU-Zeit gestohlen haben.
  • Abschnitt 3: Speicher-Paging-Statistiken
  • Abschnitt 4: Ereigniszähler

Gabeln seit Boot

Forks beziehen sich auf Prozesse, die von bestehenden Prozessen erzeugt wurden. Führen Sie den folgenden Befehl aus, um Statistiken zur Anzahl der Forks abzurufen:

$ vmstat -F

Festplatten- und Partitionsstatistiken

Der Befehl „vmstat“ kann auch Informationen zur Festplattenaktivität bereitstellen. Um eine schnelle Zusammenfassung der Festplattenaktivität zu erhalten, führen Sie den folgenden Befehl aus:

$ vmstat -D

Um einen detaillierteren Festplattenaktivitätsbericht (einschließlich Lese-/Schreibstatistiken) zu erhalten, verwenden Sie stattdessen den folgenden Befehl:

$ vmstat -D

Hier:

  • Liest
    • gesamt : Gesamtzahl der Festplatten-Lesevorgänge
    • zusammengeführt : Gesamtzahl der Lesevorgänge der Gruppe
    • Sektoren : Gesamtzahl der gelesenen Sektoren
    • MS : Gesamtzeit zum Lesen der Daten von der Festplatte (in Millisekunden)
  • Schreibt
    • gesamt : Gesamtzahl der Festplattenschreibvorgänge
    • zusammengeführt : Gesamtzahl der Gruppenschreibvorgänge
    • Sektoren : Gesamtzahl der geschriebenen Sektoren
    • MS : Gesamtzeit zum Schreiben auf die Festplatte (in Millisekunden)
  • IO
    • setzen : Gesamtzahl der aktuellen Lese-/Schreibvorgänge auf der Festplatte
    • Sek : Zeitaufwand für laufende Lese-/Schreibvorgänge (in Sekunden)

Der Befehl „vmstat“ kann auch Berichte für eine bestimmte Festplattenpartition erstellen. Um den Partitionsbericht zu erhalten, verwenden Sie die folgende Befehlsstruktur:

$ vmstat -P < partition_identifier >

Plattenstatistik

Die Slab-Zuweisung ist als effizienter Mechanismus für die Speicherzuweisung der Objekte konzipiert. Im Vergleich zu früheren Mechanismen bietet die Slab-Zuweisung eine Reduzierung der Speicherfragmentierung (verursacht durch Speicherzuweisung und -freigabe).

Um die Slab-Statistiken des Systems zu überprüfen, verwenden Sie den folgenden „vmstat“-Befehl:

$ Sudo vmstat -M

Beachten Sie, dass zum Anzeigen der Statistiken eine Root-Berechtigung erforderlich ist.

Hier:

  • Zwischenspeicher : Name der zwischengespeicherten Daten
  • Auf eins : Anzahl der Objekte, die im Num-Cache aktiv sind
  • Gesamt : Gesamtzahl der Objekte in einem bestimmten Cache
  • Größe : Größe der zwischengespeicherten Objekte
  • Seiten : Anzahl der Speicherseiten, die die zwischengespeicherten Objekte enthalten

Abschluss

In diesem Handbuch haben wir die verschiedenen Möglichkeiten zur Verwendung des Befehls „vmstat“ vorgestellt. Neben dem virtuellen Speicher kann „vmstat“ auch über Festplattenstatistiken, Forks, Slabs und mehr berichten.

Möchten Sie mehr über andere Systemüberwachungstools erfahren? Lerne mehr über htop , töten , PS , usw.

Viel Spaß beim Rechnen!