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. ]