GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Befehle:Durchsuchen des virtuellen Speichers mit vmstat

Es gibt viele Befehle, Tools und Variationen der beiden, mit denen Sie arbeiten können, wenn es um Systemstatistiken in Linux geht. Wenn Sie jedoch die Besonderheiten des virtuellen Speichers benötigen, sollten Sie vmstat verwenden .

Was ist das?

Reporter für virtuelle Arbeitsspeicherstatistiken, auch bekannt als vmstat , ist ein Linux-Befehlszeilentool, das verschiedene Systeminformationen meldet. Dinge wie Speicher, Paging, Prozesse, E/A, CPU und Festplattenplanung sind alle in der Reihe der bereitgestellten Informationen enthalten.

Wenn Sie vmstat ausführen , beachten Sie, dass der erste Bericht ein Durchschnitt der angeforderten Informationen seit dem letzten Neustart ist. Nachfolgende Berichte verwenden Messungen der Verzögerung und zählen . Ich spreche diese speziell während der Syntaxdiskussion an.

Befehlssyntax

Die Syntax für vmstat Befehl ist ziemlich einfach:

$ vmstat [Optionen][Verzögerung [Anzahl]]

  • Optionen - diese werden im folgenden Abschnitt ausführlich behandelt.
  • Verzögerung - dies definiert das Zeitintervall zwischen Aktualisierungen. Wenn keine Verzögerung angegeben ist, wird der Bericht als Durchschnitt seit dem letzten Neustart ausgeführt.
  • Anzahl - dies definiert die Anzahl der Aktualisierungen, die nach dem angegebenen Verzögerungsintervall gedruckt werden. Wenn keine Anzahl festgelegt ist, erfolgt standardmäßig eine unendliche Anzahl von Aktualisierungen alle x Sekunden (wobei x =Verzögerung).

Grundlegende Ausgabe und wie sie sinnvoll ist

Die einfachste Form dieses Befehls verwendet überhaupt keine Optionen. Hier ist die Standardausgabe und wie man sie liest:

[tcarrigan@rhel ~]$ vmstat
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 6012852   2120 817048    0    0  2805   289  797  657 21  7 71  1  0

Sie sehen Informationen zu Prozessen, Speicher, Swap, IO, System und CPU. Die Manpage für den Befehl gibt Folgendes an (man vmstat ):

- Procs
     - r: The number of runnable processes (running or waiting for run times)
     - b: The number of processes in uninterruptible sleep. 
 - Memory
     - swpd: the amount of virtual memory used. 
     - free: the amount of idle memory
     - buff: the amount of memory used as buffers
     - cache: the amount of memory used as cache. 
     - inact: the amount of inactive memory. (-a option)
     - active: the amount of active memory. (-a option)
 - Swap
     - si: Amount of memory swapped in from disk (/s). 
     - so: Amount of memory swapped to a block device (/s). 
 - IO
     - bi: Blocks received from a block device (blocks/s). 
     - bo: Blocks sent to a block device (blocks/s). 
 - System
     - in: The number of interrupts per second, including the clock. 
     - cs: The number of context switcher per second. 
 - CPU
     - These are percentages of total CPU time. 
     - us: Time spent running non-kernel code. (user time, including nice time)
     - sy: Time spent running kernel code. (system time)
     - id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. 
     - wa: Time spent waiting for IO.  Before Linux 2.5.41, included in idle.
     - st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.

Unter den wichtigen Informationen hier finden Sie die Menge an freiem Speicher auf dem System sowie die Menge an Swap-Aktivität, die Sie derzeit erleben.

Wissenswerte Optionen

Das -a Option gibt uns den aktiven und inaktiven Speicher des Systems:

[tcarrigan@rhel ~]$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 6022104 609656 1185980    0    0   180    40   80   79  1  1 98  0  0

Das -f Option gibt uns die Anzahl der Forks seit dem Booten:

[tcarrigan@rhel ~]$ vmstat -f
         2911 forks

Beachten Sie, dass ein Fork jeder Prozess ist, der andere Prozesse hervorbringt, während er aktiv bleibt.

Das -s Option zeigt verschiedene Speicherstatistiken sowie CPU- und IO-Ereigniszähler an:

[tcarrigan@rhel ~]$ vmstat -s 
      8161656 K total memory
      1216012 K used memory
      1186276 K active memory
       609632 K inactive memory
      6021980 K free memory
         2120 K buffer memory
       921544 K swap cache
      3145724 K total swap
            0 K used swap
      3145724 K free swap
         5888 non-nice user cpu ticks
          476 nice user cpu ticks
         1520 system cpu ticks
       529965 idle cpu ticks
          331 IO-wait cpu ticks
          939 IRQ cpu ticks
          103 softirq cpu ticks
            0 stolen cpu ticks
       755494 pages paged in
       167719 pages paged out
            0 pages swapped in
            0 pages swapped out
       365026 interrupts
       374126 CPU context switches
   1590618807 boot time
         2952 forks

Das -d Option gibt Ihnen Lese-/Schreibstatistiken für verschiedene Festplatten:

[tcarrigan@rhel ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sda    17019     40 1498524   10680   4683   1050  335510    1561      0     10
sdb      105      0    6232      67      0      0       0       0      0      0
sdc      105      0    6232      59      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
dm-0   16677      0 1469065   12431   5713      0  336816    2485      0     10
dm-1      98      0    4440      39      0      0       0       0      0      0

Das -t Option gibt uns bei jedem Update Zeitstempelinformationen, wie hier zu sehen:

[tcarrigan@rhel ~]$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 EDT
 1  0      0 6021412   2120 921548    0    0   118    26   62   66  1  0 99  0  0 2020-05-27 19:00:11
 0  0      0 6021300   2120 921548    0    0     0     0  349  510  1  0 99  0  0 2020-05-27 19:00:16
 0  0      0 6021272   2120 921548    0    0     0     2  196  294  0  0 100  0  0 2020-05-27 19:00:21
 0  0      0 6021272   2120 921548    0    0     0     0  110  161  0  0 100  0  0 2020-05-27 19:00:26
 0  0      0 6021272   2120 921548    0    0     0     0  112  169  0  0 100  0  0 2020-05-27 19:00:31
 0  0      0 6021272   2120 921548    0    0     0     0  171  267  0  0 99  0  0 2020-05-27 19:00:36
 0  0      0 6021188   2120 921552    0    0     0     0  201  291  0  0 99  0  0 2020-05-27 19:00:41
 0  0      0 6021188   2120 921552    0    0     0     0  152  233  0  0 100  0  0 2020-05-27 19:00:46
 2  0      0 6021188   2120 921552    0    0     0     3  127  165  0  0 100  0  0 2020-05-27 19:00:51
 0  0      0 6021188   2120 921552    0    0     0     0   95  131  0  0 100  0  0 2020-05-27 19:00:56

Sie sehen, dass es 10 Aktualisierungen gibt, die alle fünf Sekunden gedruckt werden, mit angehängten Zeitstempelinformationen.

Bitte beachten Sie auch, dass alle Speicherstatistiken standardmäßig in Kilobyte angezeigt werden.

Zusammenfassung

Schauen wir uns zum Abschluss an, was wir gelernt haben. Die vmstat command ist ein leistungsstarkes Systemstatistiktool, das mit oder ohne Optionen verwendet werden kann. Es druckt Updates mit zwei Hauptvariablen (Verzögerung und Anzahl), und wir können den Befehl und die Ausgabe an unsere Bedürfnisse anpassen. Ich hoffe, dass Ihnen dieser Blick auf vmstat gefallen hat Befehl. Ich werde ifstat behandeln in einem bevorstehenden Artikel, also halten Sie Ausschau danach!

[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]


Linux
  1. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  2. Senden Sie mit Terminator Befehle an mehrere SSH-Sitzungen

  3. Linux-Speichernutzung

  4. Mehr als 10 Linux-VI-Befehle mit Beispielen

  5. Freier Befehl in Linux mit Beispielen erklärt

RPM-Befehle in Linux mit Beispielen

SSH-Befehle in Linux mit Verwendungsbeispielen

Vagrant-Tutorial – Erste Schritte mit Vagrant unter Linux

Zeigen Sie Cheatsheets für Linux-Befehle mit dem Tealdeer-Tool an

Eine Anleitung zum vmstat-Befehl in Linux

Verwenden von vmstat zum Beheben von Leistungsproblemen unter Linux