Wie die vmstat-Befehl unter Linux

0
853
Fatmawati Achmad Zaenuri/Shutterstock.com

Ihre Linux-oder macOS-computer verwenden virtuellen Speicher. Entdecken Sie, wie es ist, die Auswirkungen auf Ihre Verwendung des Systems physikalischer Speicher, CPU-und festplattenressourcen.

Was Ist Ein Virtueller Speicher?

Ihr computer ist ausgestattet mit einer endlichen Menge an physischen Speicher genannt RAM (random access memory). Dieser Speicher muss verwaltet werden, durch die der kernel und gemeinsam zwischen dem Betriebssystem und unabhängig von Anwendungen, die zufällig ausgeführt werden. Wenn diese kombinierten Anforderungen gefragt sind, für mehr Speicher als physisch in Ihrem computer installiert ist, was kann der kernel?

Linux-und Unix-ähnlichen Betriebssystemen wie macOS verwenden können Speicherplatz auf Ihrer Festplatte, um Ihnen helfen, verwalten von Speicher-Anforderungen. Ein reservierter Bereich der Festplatte Speicherplatz, genannt “swap-space” kann verwendet werden, als handele es sich um eine Erweiterung des RAM. Dies ist der virtuelle Speicher.

Der Linux-kernel schreiben kann, den Inhalt eines block von Speicher in ein swap-space, und frei, die region des RAM für die Verwendung durch einen anderen Prozess. Das ausgelagert—auch als “ausgelagerte” out—Speicher kann abgerufen werden von der swap-space und restauriert, um den RAM, wenn es erforderlich ist.

Natürlich, die Geschwindigkeit des Zugangs für den ausgelagerten Speicher ist langsamer als der Speicher im RAM gehalten. Und das ist nicht der einzige trade-off. Während der virtuelle Speicher nicht bieten eine Möglichkeit für Linux zur Verwaltung seiner Speicher-Anforderungen, verwenden virtuellen Speicher stellen erhöhte Belastungen an anderer Stelle auf dem computer.

Ihre Festplatte muss mehr liest und schreibt. Die kernel—und somit auch die CPU muss mehr arbeiten als Sie tauscht den Speicher aus, swaps Speicher, und hält alle Platten Spinnen zu befriedigen, die Speicher-Anforderungen der verschiedenen Prozesse.

Linux bietet eine Möglichkeit für die überwachung aller mit dieser Tätigkeit in der Form der vmstat-Befehl, mit dem Berichte auf virtual memory statistics.

Der Befehl vmstat

Wenn Sie Typ vmstat wie ein Befehl ohne Parameter auf, wird es zeigen Ihnen eine Reihe von Werten. Diese Werte sind die Durchschnittswerte für jede der Statistiken, die seit Ihrem computer zuletzt neu gestartet wurde. Diese zahlen sind keine Momentaufnahme der Werte “gerade jetzt.”

vmstat

Eine kurze Tabelle der Werte wird angezeigt.

Es gibt Spalten geleitet, Procs, Speicher -, Swap -, IO -, System-und CPU. Die Letzte Spalte (die meisten rechten Spalte) enthält die Daten der CPU.

Hier ist eine Liste der Datenelemente, die in jeder Spalte.

Proc

  • r: Die Anzahl der ablaufenden Prozesse. Diese sind Prozesse, die gestartet worden sind, und sind entweder laufen oder warten auf Ihre nächste Zeit-Scheiben platzen der CPU-Zyklen.
  • b: Die Anzahl der Prozesse im Bereich der unterbrechungsfreien Schlaf. Der Prozess schläft nicht, es ist die Durchführung einer Blockier-system nennen, und es kann nicht unterbrochen werden, bis er abgeschlossen hat seine aktuelle Aktion. In der Regel der Prozess ist ein Treiber wartet auf eine Ressource frei zu kommen. Alle Nachrichten in der Warteschlange der interrupts für diesen Prozess behandelt werden, wenn der Prozess fortgesetzt wird, seiner gewohnten Tätigkeit.

Speicher

  • swpd: die Menge des verwendeten virtuellen Speichers. In anderen Worten, wie viel Speicher ausgelagert wurde.,
  • frei: der Betrag, der im Leerlauf (derzeit ungenutzten) Speicher.
  • buff: die Menge des verwendeten Speichers als Puffer.
  • cache: die Menge des Speichers als cache verwendet wird.

Swap

  • si: Menge von virtuellem Arbeitsspeicher getauscht von swap-space.
  • also: Menge an virtuellen Speicher ausgelagert, swap-Bereich.

IO

  • bi: empfangene Blöcke aus einer block-Gerät. Die Anzahl der Datenbausteine verwendet, um den virtuellen swap-Speicher zurück in den RAM.
  • bo: gesendete Blöcke zu einem block-Gerät. Die Anzahl der Datenbausteine verwendet, um den virtuellen swap-Speicher aus RAM und in swap-Speicher.

System

  • in: Die Anzahl der interrupts pro Sekunde, inklusive Uhr.
  • cs: Die Anzahl von Kontext-switches pro Sekunde. Ein context-switch ist bei der kernel-swaps aus system-Modus-Verarbeitung in Benutzer-Modus verarbeitet.

CPU

Diese Werte sind alle Prozentsätze auf die Gesamt-CPU-Zeit.

  • uns: die Zeit läuft nicht-kernel-code. Das ist, wie viel Zeit aufgewendet, um Benutzer Zeit für die Verarbeitung und schöne Zeit der Verarbeitung.
  • sy: Zeitaufwand für das ausführen von kernel-code.
  • id: verbrachte Zeit im Leerlauf.
  • wa: Wartezeit für Eingabe oder Ausgabe.
  • st: gestohlene Zeit aus einer virtuellen Maschine. Dies ist die Zeit, eine virtuelle Maschine zu warten, für den hypervisor zu beenden, Wartung weitere virtuelle Maschinen, bevor es wieder kommen kann und kümmern sich um diese virtuelle Maschine.

Mit einem Zeitintervall

Wir haben vmstat bieten regelmäßige updates, um diese zahlen durch die Verwendung einer delay-Wert. Der delay-Wert ist in Sekunden. Die Statistiken aktualisiert alle fünf Sekunden, wir würden den folgenden Befehl verwenden:

vmstat 5

Alle fünf Sekunden vmstat wird eine weitere Zeile hinzufügen von Daten zu der Tabelle. Sie müssen drücken Sie Strg+C, um dies zu stoppen.

Mit einer Count-Wert

Mit zu geringem delay-Wert wird, setzen zusätzliche Belastung auf Ihrem system. Wenn Sie brauchen, um schnelle updates zu versuchen, zu diagnostizieren ein problem, es wird empfohlen, dass Sie einen count-Wert sowie einem delay-Wert.

Der count-Wert sagt vmstat, wie viele updates durchzuführen, bevor es beendet und Sie zurück zu der Eingabeaufforderung. Wenn Sie nicht mit einem count-Wert, vmstat wird ausgeführt, bis es gestoppt wird, indem Sie Strg+C.

Haben vmstat liefert ein update alle fünf Sekunden an—aber nur für vier updates—verwenden Sie den folgenden Befehl ein:

vmstat 5 4

Nach vier updates vmstat Stoppt von alleine.

Ändern der Einheiten

Sie können wählen, um die Speicher-und swap-Statistiken angezeigt, in Kilobyte oder Megabyte an, mit der-S (unit-character) option. Diesem muss gefolgt werden von k -, K -, m-oder M. Diese stellen:

  • k:1000 bytes
  • K: 1024 bytes
  • m: 1000000 bytes
  • M: 1048576 bytes

Die Statistik aktualisiert sich alle 10 Sekunden mit der Speicher-und swap-Statistiken angezeigt in Megabyte, verwenden Sie den folgenden Befehl ein:

vmstat 10 -S M

Der Speicher-und swap-Statistiken werden jetzt angezeigt in Megabyte. Beachten Sie, dass der-S-option hat keine Auswirkungen auf den IO-block-Statistik. Diese werden immer angezeigt in Blöcken.

Aktive und Inaktive Speicher

Wenn Sie die-eine (aktive) Möglichkeit, das buff und cache-Speicher-Spalten werden ersetzt durch die “inact” und “aktiv” Spalten. Wie würden Sie vorschlagen, diese zeigt den Anteil der inaktiven und der aktiven Erinnerung.

Um zu sehen, diese zwei Spalten statt der buff und cache-Spalten, umfassen die option-a, wie gezeigt:

vmstat 5 -a-S-M

Die inact-und aktiv-Spalten betroffen sind, die -En (unit-character) option.

Gabeln

Die Option-f zeigt die Anzahl der Gabeln, die passiert sind, seit der computer war hochgefahren.

In anderen Worten, dies zeigt die Anzahl der Aufgaben, die gestartet worden sind (und für den Großteil von Ihnen, wieder geschlossen), da das system gebootet wurde. Jeder Prozess, gestartet von der Kommandozeile würde diesen Wert erhöhen. Jedes mal, wenn ein task oder Prozess spawnt, oder Klone, die eine neue Aufgabe, diese Zahl wird sich noch erhöhen.

vmstat -f

Die Gabeln Darstellung nicht aktualisiert.

Anzeige Slabinfo

Der kernel hat seine eigene Speicherverwaltung zu kümmern, sowie das Speicher-management für das Betriebssystem und alle Anwendungen.

Wie Sie sich vorstellen können die kernel reservieren und freigeben von Speicher über und über für die vielen verschiedenen Arten von Daten-Objekt, die es verarbeiten muss. Um dies so effizient wie möglich, es nutzt ein system, genannt Platten. Dies ist eine form der Zwischenspeicherung.

Speicher, gebraucht und nicht mehr benötigt für eine bestimmte Art von kernel-Daten-Objekt wieder verwendet werden kann für ein anderes Daten-Objekt des gleichen Typs, ohne den Speicher freigegeben und neu zugeordnet werden. Denke, dass Brammen als pre-allocated, made to measure, Segmente RAM für den kernel an die eigenen Bedürfnisse.

Sehen die Statistiken für die Platten verwenden Sie die Option-m (- Platten) option. Müssen Sie sudo verwenden, und Sie werden aufgefordert, Ihr Passwort anzugeben. Wie die Ausgabe kann ziemlich langwierig, wir sind Rohrleitungen durch weniger.

sudo vmstat -m | less

Die Ausgabe hat fünf Spalten. Diese sind:

  • Cache: Name des cache.
  • num: Die Nummer des derzeit aktiven Objekte in diesem cache.
  • Gesamt: Die Gesamtzahl der verfügbaren Objekte in diesem cache.
  • Größe: Die Größe jedes Objekt im cache.
  • Seiten: Die Anzahl der Speicher-Seiten, die haben (mindestens) ein Objekt gerade im Zusammenhang mit diesem cache.

Durch drücken von q verlassen Sie less.

Displaying-Ereignis-Zähler und Speicher-Statistiken

Zum anzeigen einer Seite der Ereignis-Zähler und Speicher-Statistiken, die -s (Statistik) option. Beachten Sie, dass die Kleinbuchstaben “s.”

vmstat -s

Obwohl die Statistiken, die berichtet werden, sind weitgehend die gleichen wie die Informationen, aus denen die Standard-vmstat-Ausgabe, einige von Ihnen sind aufgeteilt in mehr detail.

Zum Beispiel die Standard-Ausgabe kombiniert die netten und die nicht netten user CPU-Zeit in der “us” – Spalte. Die -s (Statistik) display-Listen diese Statistiken getrennt.

Die Anzeige Der Statistik

Erhalten Sie eine ähnliche Liste von Festplatten-Statistik mit der-d (disk) die option.

vmstat -d | weniger

Für jeden Datenträger, drei Spalten angezeigt werden, diese Liest, Schreibt, und IO.

IO ist die Spalte ganz rechts. Beachten Sie, dass die sec-Säule in IO wird in Sekunden gemessen, aber die Zeit-basierte Statistiken in der Lesen und schreiben Spalten werden in Millisekunden gemessen.

Dies ist, was die Spalten bedeuten:

Liest

  • Gesamt: Die Gesamtzahl der Lesevorgänge von der Festplatte.
  • zusammengeführt: Die Gesamtzahl zusammengefasst liest.
  • Sektoren: Die Gesamtzahl der Sektoren, eingelesen.
  • ms: die Gesamtzahl der Zeit in Millisekunden, die verwendet wurden, Lesen Daten von der Festplatte.

schreibt

  • Gesamt: Die Gesamtzahl der Festplatte schreibt.
  • zusammengeführt: Die Gesamtzahl der gruppierten schreibt.
  • Sektoren: Die Gesamtzahl der Sektoren geschrieben.
  • ms = Gesamt-Anzahl der Zeit in Millisekunden, die verwendet wurden, schreiben von Daten auf die Festplatte.

IO

  • cur: die Nummer der aktuellen disk liest oder schreibt.
  • Sek: Zeit in Sekunden, für alle in-progress liest oder schreibt.

Anzeigen Der Zusammenfassung Der Statistik

Um zu sehen, eine schnelle Anzeige der Zusammenfassung Statistik für Ihre Datenträger-Aktivität, verwenden Sie die D (disk-Summe) option. Beachten Sie den Großbuchstaben “D”

vmstat -D

Die Anzahl der Platten Aussehen könnte, ungewöhnlich hoch. Der computer verwendet, um Forschung in diesem Artikel ist unter Ubuntu. Mit Ubuntu, jedes mal, wenn Sie installieren eine Anwendung, die von einem Snap, einem squashfs pseudo-Dateisystem erstellt wird, die verbunden ist, um eine /dev/loop-Gerät.

Dummerweise sind diese Geräte-Einträge, die gezählt werden, wie hard drive Geräte, die von vielen Linux-Befehle und-Dienstprogramme.

Anzeige Partition Statistik

Auf Statistiken in Bezug auf eine bestimmte partition, verwenden Sie die -p (partition) option, und geben Sie die partition-id als Kommandozeilen-parameter.

Hier wir werden betrachten die partition sda1. Die Ziffer zeigt an, dies ist die erste partition auf der device sda, die die Haupt-Festplatte auf diesem computer.

vmstat -p sda1

Die zurückgegebenen Informationen zeigt die Gesamtzahl der Lesevorgänge von der Festplatte und disk schreibt und von dieser partition, und die Anzahl der einbezogenen Sektoren in disk Lesen und disk schreib-Aktionen.

Ein Blick Unter Die Motorhaube

Es ist immer gut zu wissen, wie Sie heben Sie die Haube und sehen, was darunter vor sich geht. Manchmal werden Sie versuchen, die Probleme zu lösen, manchmal werden es aus Interesse, weil du wissen willst, wie der computer tickt.

vmstat können Sie mit einer Tonne von nützlichen Informationen. Jetzt wissen Sie, wie access es und was es bedeutet. Und gewarnt ist gewappnet—wenn Sie brauchen, um zu Rollen Sie Ihre ärmel hoch und Diagnose machen, werden Sie wissen, Sie haben vmstat auf Ihrer Seite.

LESEN SIE WEITER

  • › Wie, zu Scannen (oder Scannen Sie erneut) Für die Kanäle auf Ihrem TV
  • › Warum Video-Türklingeln Sind die Besten Smarthome Gadget
  • › Wie melde ich Phishing und Bösartige Websites in Google Chrome
  • › So Suchen Sie Alle Ihre PC-Dateien im Windows 10 Startmenü
  • › Wie Halten Sie Ihren Mac und Apps immer Up To Date