Connect with us

Wie man

So verwenden Sie den vmstat-Befehl unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

Fatmawati Achmad Zaenuri/Shutterstock.com

Ihr Linux- oder macOS-Computer verwendet virtuellen Speicher. Finden Sie heraus, wie sich dies auf die Nutzung von physischem Speicher, CPU und Festplattenressourcen durch Ihr System auswirkt.

Was ist virtueller Speicher?

Ihr Computer ist mit einer begrenzten Menge an physischem Speicher ausgestattet, der als bezeichnet wird Arbeitsspeicher (RAM). Dieser RAM muss vom Kernel verwaltet und zwischen dem Betriebssystem und allen gerade laufenden Anwendungen geteilt werden. Wenn diese kombinierten Anforderungen mehr Speicher erfordern, als physisch in Ihrem Computer installiert ist, was kann der Kernel tun?

Linux- und Unix-ähnliche Betriebssysteme wie macOS können Speicherplatz auf Ihrer Festplatte verwenden, um den Speicherbedarf zu decken. Ein reservierter Bereich des Festplattenspeichers, der als „Swap-Speicherplatz“ bezeichnet wird, kann wie eine Erweiterung des Arbeitsspeichers verwendet werden. Dies ist virtueller Speicher.

Der Linux-Kernel kann den Inhalt eines Speicherblocks in den Auslagerungsbereich schreiben und diesen RAM-Bereich für die Verwendung durch einen anderen Prozess freigeben. Der ausgelagerte – auch „ausgelagerte“ Speicher genannt – kann aus dem Auslagerungsbereich abgerufen und bei Bedarf im RAM wiederhergestellt werden.

Natürlich ist die Zugriffsgeschwindigkeit für ausgelagerten Speicher langsamer als die von im RAM gehaltenem Speicher. Und das ist nicht der einzige Kompromiss. Während virtueller Speicher Linux eine Möglichkeit bietet, seinen Speicherbedarf zu verwalten, stellt die Verwendung von virtuellem Speicher an anderer Stelle des Computers eine erhöhte Belastung dar.

Ihre Festplatte muss mehr Lese- und Schreibvorgänge ausführen. Der Kernel – und damit die CPU – muss mehr Arbeit leisten, da er Speicher aus- und einlagert und alle Platten am Laufen hält, um den Speicherbedarf der verschiedenen Prozesse zu decken.

Linux bietet Ihnen die Möglichkeit, all diese Aktivitäten in Form des vmstat Befehl, der berichtet über Statistiken zum virtuellen Speicher.

Der vmstat-Befehl

Wenn du tippst vmstat als Befehl ohne Parameter zeigt es Ihnen eine Reihe von Werten an. Diese Werte gelten für jede Statistik seit dem letzten Neustart Ihres Computers. Diese Zahlen sind keine Momentaufnahme der Werte „im Moment“.

vmstat

Eine kurze Wertetabelle wird angezeigt.

Es gibt Spalten mit den Überschriften Procs, Memory, Swap, IO, System und CPU. Die letzte Spalte (am weitesten rechts) enthält die Daten zur CPU.

Hier ist eine Liste der Datenelemente in jeder Spalte.

Vorgang

  • : Die Anzahl der ausführbaren Prozesse. Dies sind Prozesse, die gestartet wurden und entweder ausgeführt werden oder auf ihren nächsten zeitgeteilten Burst von CPU-Zyklen warten.
  • : Die Anzahl der Prozesse im unterbrechungsfreien Ruhezustand. Der Prozess schläft nicht, er führt einen blockierenden Systemaufruf durch und kann nicht unterbrochen werden, bis er seine aktuelle Aktion abgeschlossen hat. Normalerweise ist der Prozess ein Gerätetreiber, der darauf wartet, dass eine Ressource frei wird. Alle in der Warteschlange befindlichen Interrupts für diesen Prozess werden behandelt, wenn der Prozess seine normale Aktivität wieder aufnimmt.

Speicher

  • : die Menge des verwendeten virtuellen Speichers. Mit anderen Worten, wie viel Speicher ausgelagert wurde.,
  • : die Menge des ungenutzten (derzeit ungenutzten) Speichers.
  • : die Menge an Speicher, die als Puffer verwendet wird.
  • : die Menge des als Cache verwendeten Speichers.

Wechsel

  • : Menge des virtuellen Speichers, der aus dem Auslagerungsbereich ausgelagert wurde.
  • : Menge des virtuellen Speichers, der in den Auslagerungsbereich ausgelagert wurde.

IO

  • : Von einem Blockgerät empfangene Blöcke. Die Anzahl der Datenblöcke, die verwendet werden, um den virtuellen Speicher wieder in den RAM auszulagern.
  • : An ein Blockgerät gesendete Blöcke. Die Anzahl der Datenblöcke, die zum Auslagern des virtuellen Speichers aus dem RAM und in den Auslagerungsbereich verwendet werden.

System

  • : Die Anzahl der Interrupts pro Sekunde, einschließlich der Uhr.
  • : Die Anzahl der Kontextwechsel pro Sekunde. Ein Kontextwechsel liegt vor, wenn der Kernel von der Verarbeitung im Systemmodus in die Verarbeitung im Benutzermodus wechselt.

Zentralprozessor

Diese Werte sind alle Prozentsätze der gesamten CPU-Zeit.

  • : Zeit für die Ausführung von Nicht-Kernel-Code. Das heißt, wie viel Zeit wird für die Verarbeitung der Benutzerzeit und für die Verarbeitung der netten Zeit aufgewendet.
  • : Zeit für die Ausführung von Kernel-Code.
  • : Im Leerlauf verbrachte Zeit.
  • : Wartezeit auf Eingabe oder Ausgabe.
  • : Von einer virtuellen Maschine gestohlene Zeit. Dies ist die Zeit, die eine virtuelle Maschine warten muss, bis der Hypervisor die Wartung anderer virtueller Maschinen abgeschlossen hat, bevor sie zurückkehren und sich um diese virtuelle Maschine kümmern kann.

Verwenden eines Zeitintervalls

Wir können haben vmstat um diese Zahlen regelmäßig zu aktualisieren, indem Sie a delay Wert. Das delay Wert wird in Sekunden angegeben. Damit die Statistiken alle fünf Sekunden aktualisiert werden, verwenden wir den folgenden Befehl:

vmstat 5

Alle fünf Sekunden vmstat fügt der Tabelle eine weitere Datenzeile hinzu. Sie müssen Strg+C drücken, um dies zu stoppen.

Verwenden eines Zählwerts

Verwendung von zu niedrigem a delay Wert wird Ihr System zusätzlich belasten. Wenn Sie schnelle Updates benötigen, um ein Problem zu diagnostizieren, wird empfohlen, a count Wert sowie a delay Wert.

Das count Wert sagt vmstat wie viele Aktualisierungen ausgeführt werden müssen, bevor es beendet wird und Sie zur Eingabeaufforderung zurückkehren. Wenn Sie keine Angabe machen count Wert, vmstat läuft, bis es mit Strg+C gestoppt wird.

Haben vmstat alle fünf Sekunden ein Update bereitstellen – aber nur für vier Updates – verwenden Sie den folgenden Befehl:

vmstat 5 4

Nach vier Updates vmstat stoppt von selbst.

Ändern der Einheiten

Sie können wählen, ob die Speicher- und Auslagerungsstatistiken in Kilobyte oder Megabyte angezeigt werden, indem Sie die -S (Einheitszeichen) Option. Darauf muss eine von folgen k , K , m, oder M. Diese repräsentieren:

  • :1000 Byte
  • : 1024 Byte
  • : 1000000 Byte
  • : 1048576 Byte

Verwenden Sie den folgenden Befehl, um die Statistik alle 10 Sekunden mit den in Megabytes angezeigten Speicher- und Auslagerungsstatistiken zu aktualisieren:

vmstat 10 -S M

Die Speicher- und Auslagerungsstatistiken werden jetzt in Megabyte angezeigt. Notiere dass der -S Option hat keinen Einfluss auf die IO-Block-Statistik. Diese werden immer in Blöcken angezeigt.

Aktiver und inaktiver Speicher

Wenn Sie das verwenden -a (aktiv) werden die Buff- und Cache-Speicherspalten durch die Spalten „inact“ und „active“ ersetzt. Wie sie vorschlagen würden, zeigen diese die Menge des inaktiven und des aktiven Gedächtnisses.

Um diese beiden Spalten anstelle der Buff- und Cache-Spalten anzuzeigen, fügen Sie Folgendes ein: -a Option, wie abgebildet:

vmstat 5 -a -S M

Die inaktiven und aktiven Spalten, die von der Option -S (Einheitszeichen) betroffen sind.

Gabeln

Das -f switch zeigt die Anzahl der Forks an, die seit dem Hochfahren des Computers aufgetreten sind.

Mit anderen Worten, dies zeigt die Anzahl der Tasks, die seit dem Booten des Systems gestartet (und größtenteils wieder geschlossen) wurden. Jeder über die Befehlszeile gestartete Prozess würde diese Zahl erhöhen. Jedes Mal, wenn eine Aufgabe oder ein Prozess eine neue Aufgabe erzeugt oder klont, erhöht sich diese Zahl.

vmstat -f

Die Anzeige der Gabeln wird nicht aktualisiert.

Platteninfo anzeigen

Der Kernel muss sich um seine eigene Speicherverwaltung kümmern, ebenso wie die Speicherverwaltung für das Betriebssystem und alle Anwendungen.

Wie Sie sich vorstellen können, weist der Kernel Speicher für die vielen verschiedenen Arten von Datenobjekten, die er verarbeiten muss, immer und immer wieder zu und auf. Um dies so effizient wie möglich zu gestalten, verwendet es ein System namens Slabs. Dies ist eine Form des Cachings.

Speicher, der für einen bestimmten Typ von Kernel-Datenobjekt zugewiesen, verwendet und nicht mehr benötigt wird, kann für ein anderes Datenobjekt desselben Typs wiederverwendet werden, ohne dass der Speicher freigegeben und neu zugewiesen wird. Stellen Sie sich Slabs als vorab zugewiesene, maßgeschneiderte RAM-Segmente für die eigenen Bedürfnisse des Kernels vor.

Um die Statistiken für die Platten anzuzeigen, verwenden Sie die -m (Platten) Option. Sie müssen verwenden sudo, und Sie werden zur Eingabe Ihres Passworts aufgefordert. Da die Ausgabe ziemlich lang sein kann, leiten wir sie durch less.

sudo vmstat -m | less

Die Ausgabe hat fünf Spalten. Diese sind:

  • : Name des Caches.
  • : Die Anzahl der derzeit aktiven Objekte in diesem Cache.
  • : Die Gesamtzahl der verfügbaren Objekte in diesem Cache.
  • : Die Größe jedes Objekts im Cache.
  • : Die Gesamtzahl der Speicherseiten, die (mindestens) ein Objekt haben, das derzeit mit diesem Cache verknüpft ist.

Drücken Sie q verlassen less.

Anzeigen von Ereigniszählern und Speicherstatistiken

Um eine Seite mit Ereigniszählern und Speicherstatistiken anzuzeigen, verwenden Sie die -s (Statistik)-Option. Beachten Sie, dass dies ein kleines „s“ ist.

vmstat -s

Obwohl die gemeldeten Statistiken weitgehend mit den Informationen übereinstimmen, aus denen der Standardwert besteht vmstat Ausgabe, einige von ihnen sind detaillierter aufgeteilt.

Zum Beispiel kombiniert die Standardausgabe sowohl die nette als auch die nicht nette CPU-Zeit des Benutzers in der Spalte „us“. Die Anzeige -s (stats) listet diese Statistiken separat auf.

Ausgabe von vmstat -s in einem Terminalfenster

Anzeigen von Festplattenstatistiken

Sie können eine ähnliche Auflistung von Festplattenstatistiken mit dem -d (Festplatte) Option.

vmstat -d | less

Für jede Festplatte werden drei Spalten angezeigt, nämlich Reads, Writes und IO.

IO ist die Spalte ganz rechts. Beachten Sie, dass die sec-Spalte in IO in Sekunden gemessen wird, die zeitbasierten Statistiken in den Lese- und Schreibspalten jedoch in Millisekunden.

Das bedeuten die Spalten:

Liest

  • : Die Gesamtzahl der Festplattenlesevorgänge.
  • : Die Gesamtzahl der gruppierten Lesevorgänge.
  • : Die Gesamtzahl der eingelesenen Sektoren.
  • : Gesamtanzahl der Zeit in Millisekunden, die zum Lesen von Daten von der Festplatte verwendet wurden.

schreibt

  • : Die Gesamtzahl der Festplattenschreibvorgänge.
  • : Die Gesamtzahl der gruppierten Schreibvorgänge.
  • : Die Gesamtzahl der Sektoren, in die geschrieben wurde.
  • = Gesamtanzahl der Zeit in Millisekunden, die zum Schreiben von Daten auf die Festplatte verwendet wurden.

IO

  • Anzahl der aktuellen Lese- oder Schreibvorgänge auf der Festplatte.
  • Zeit in Sekunden für alle laufenden Lese- oder Schreibvorgänge.

Anzeigen der zusammenfassenden Festplattenstatistiken

Um eine schnelle Anzeige von zusammenfassenden Statistiken für Ihre Festplattenaktivität anzuzeigen, verwenden Sie die -D (Festplattensumme) Option. Beachten Sie den Großbuchstaben „D“.

vmstat -D

Die Anzahl der Festplatten kann ungewöhnlich hoch erscheinen. Auf dem Computer, auf dem dieser Artikel recherchiert wurde, läuft Ubuntu. Bei Ubuntu wird jedes Mal, wenn Sie eine Anwendung von einem Snap installieren, a squashfs Es wird ein Pseudo-Dateisystem erstellt, das an ein /dev/loop-Gerät angehängt wird.

Ärgerlicherweise werden diese Geräteeinträge von vielen Linux-Befehlen und -Dienstprogrammen als Festplattengeräte gezählt.

Partitionsstatistik anzeigen

Um Statistiken zu einer bestimmten Partition anzuzeigen, verwenden Sie die -p (partition) und geben Sie die Partitions-ID als Befehlszeilenparameter an.

Hier werden wir uns die Partition ansehen sda1. Die Ziffer Eins zeigt an, dass dies die erste Partition auf dem Gerät ist sda, die die Hauptfestplatte für diesen Computer ist.

vmstat -p sda1

Die zurückgegebenen Informationen zeigen die Gesamtzahl der Festplattenlese- und Festplattenschreibvorgänge auf und von dieser Partition sowie die Anzahl der Sektoren, die in Festplattenlese- und Festplattenschreibaktionen enthalten sind.

Ein Blick unter die Haube

Es ist immer gut zu wissen, wie man die Motorhaube anhebt und sieht, was darunter passiert. Manchmal werden Sie versuchen, ein Problem zu lösen, manchmal ist es aus Interesse, weil Sie wissen möchten, wie Ihr Computer tickt.

vmstat kann Ihnen eine Menge nützlicher Informationen liefern. Jetzt wissen Sie, wie Sie darauf zugreifen und was es bedeutet. Und vorgewarnt ist gewappnet – wenn Sie die Ärmel hochkrempeln und eine Diagnose durchführen müssen, wissen Sie, dass Sie es haben vmstat auf deiner Seite.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia