Linux-prestatiemonitoring met Vmstat- en Iostat-opdrachten
Dit is onze doorlopende reeks Linux-opdrachten en Linux-prestatiemonitoring. In dit artikel leert u over Vmstat- en Iostat-opdrachten, die beschikbaar zijn op alle belangrijke Unix -achtige (Linux/Unix/FreeBSD/Solaris) besturingssystemen.
De opdracht vmstat (ook bekend als hulpmiddel voor virtuele geheugenstatistieken) toont informatie over processen, geheugen, schijf- en CPU-activiteit in Linux, terwijl de opdracht iostat wordt gebruikt om het CPU-gebruik te controleren , systeeminvoer/uitvoerstatistieken voor alle schijven en partities.
Als de opdrachten vmstat en iostat niet beschikbaar zijn op uw Linux-machine, installeer dan het pakket sysstat. De opdrachten vmstat, sar, en iostat vormen de verzameling pakketten die zijn opgenomen in sysstat – de systeemmonitoringtools.
U kunt sysstat downloaden en installeren met behulp van de bron-tarball van link sysstat, maar we raden u aan de installatie via pakketbeheer uit te voeren.
Installeer Sysstat onder Linux
sudo apt install sysstat [On Debian, Ubuntu and Mint]
sudo yum install sysstat [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat [On Gentoo Linux]
sudo pacman -S sysstat [On Arch Linux]
sudo zypper install sysstat [On OpenSUSE]
Leer voorbeelden van Vmstat-opdrachten in Linux
In deze sectie leert u over 6 voorbeelden van vmstat-opdrachten en het gebruik ervan met schermafbeeldingen.
1. Maak een lijst van actief en inactief geheugen
In het onderstaande voorbeeld zijn er zes kolommen. De betekenis van de kolommen wordt gedetailleerd uitgelegd op de manpagina van vmstat. De belangrijkste velden zijn vrij onder geheugen en si, dus onder de wisselkolom.
[root@tecmint ~]# 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
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
- Vrij – Hoeveelheid vrije/inactieve geheugenruimte.
- si – Wordt elke seconde vanaf schijf verwisseld in kilobytes.
- dus – Wordt elke seconde naar schijf gewisseld in kilobytes.
Opmerking: als u vmstat zonder parameters uitvoert, wordt er een samenvattend rapport weergegeven sinds het opstarten van het systeem.
2. Voer vmstat ‘X’ seconden en (‘Aantal keren) uit
Met dit commando wordt vmstat elke twee seconden uitgevoerd en stopt automatisch na het uitvoeren van zes intervallen.
[root@tecmint ~]# vmstat 2 6
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 810420 22064 101368 0 0 56 3 50 57 0 3 95 2 0
0 0 0 810412 22064 101368 0 0 0 0 16 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 14 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 17 38 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 17 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 18 36 0 1 100 0 0
3. Vmstat met tijdstempels
De opdracht vmstat met de parameter -t
toont tijdstempels waarbij elke regel wordt afgedrukt, zoals hieronder weergegeven.
[tecmint@tecmint ~]$ vmstat -t 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 632028 24992 192244 0 0 70 5 55 78 1 3 95 1 0 2012-09-02 14:57:18 IST
1 0 0 632028 24992 192244 0 0 0 0 171 514 1 5 94 0 0 2012-09-02 14:57:19 IST
1 0 0 631904 24992 192244 0 0 0 0 195 600 0 5 95 0 0 2012-09-02 14:57:20 IST
0 0 0 631780 24992 192244 0 0 0 0 156 524 0 5 95 0 0 2012-09-02 14:57:21 IST
1 0 0 631656 24992 192244 0 0 0 0 189 592 0 5 95 0 0 2012-09-02 14:57:22 IST
4. Statistieken van verschillende tellers
De opdracht vmstat met de schakelaar -s
geeft een samenvatting weer van verschillende gebeurtenistellers en geheugenstatistieken.
[tecmint@tecmint ~]$ vmstat -s
1030800 total memory
524656 used memory
277784 active memory
185920 inactive memory
506144 free memory
26864 buffer memory
310104 swap cache
2064376 total swap
0 used swap
2064376 free swap
4539 non-nice user cpu ticks
0 nice user cpu ticks
11569 system cpu ticks
329608 idle cpu ticks
5012 IO-wait cpu ticks
79 IRQ cpu ticks
74 softirq cpu ticks
0 stolen cpu ticks
336038 pages paged in
67945 pages paged out
0 pages swapped in
0 pages swapped out
258526 interrupts
392439 CPU context switches
1346574857 boot time
2309 forks
5. Controleer de statistieken van Linux-schijven
vmstat met -d
optie geeft alle schijfstatistieken van Linux weer.
[tecmint@tecmint ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
ram1 0 0 0 0 0 0 0 0 0 0
ram2 0 0 0 0 0 0 0 0 0 0
ram3 0 0 0 0 0 0 0 0 0 0
ram4 0 0 0 0 0 0 0 0 0 0
ram5 0 0 0 0 0 0 0 0 0 0
ram6 0 0 0 0 0 0 0 0 0 0
ram7 0 0 0 0 0 0 0 0 0 0
ram8 0 0 0 0 0 0 0 0 0 0
ram9 0 0 0 0 0 0 0 0 0 0
ram10 0 0 0 0 0 0 0 0 0 0
ram11 0 0 0 0 0 0 0 0 0 0
ram12 0 0 0 0 0 0 0 0 0 0
ram13 0 0 0 0 0 0 0 0 0 0
ram14 0 0 0 0 0 0 0 0 0 0
ram15 0 0 0 0 0 0 0 0 0 0
loop0 0 0 0 0 0 0 0 0 0 0
loop1 0 0 0 0 0 0 0 0 0 0
loop2 0 0 0 0 0 0 0 0 0 0
loop3 0 0 0 0 0 0 0 0 0 0
loop4 0 0 0 0 0 0 0 0 0 0
loop5 0 0 0 0 0 0 0 0 0 0
loop6 0 0 0 0 0 0 0 0 0 0
loop7 0 0 0 0 0 0 0 0 0 0
sr0 0 0 0 0 0 0 0 0 0 0
sda 7712 5145 668732 409619 3282 28884 257402 644566 0 126
dm-0 11578 0 659242 1113017 32163 0 257384 8460026 0 126
dm-1 324 0 2592 3845 0 0 0 0 0 2
6. Statistieken weergeven in megabytes
De vmstat geeft geheugenstatistieken standaard in kilobytes weer, maar u kunt ook rapporten met geheugengroottes in megabytes weergeven met het argument -S M
. Beschouw het volgende voorbeeld.
[root@tecmint ~]# vmstat -S M 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 346 53 476 0 0 95 8 42 55 0 2 96 2 0
0 0 0 346 53 476 0 0 0 0 12 15 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 32 62 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 15 13 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 34 61 0 1 99 0 0
Leer Iostat-opdrachtvoorbeelden in Linux
In deze sectie leert u over 6 voorbeelden van iostat-opdrachten en het gebruik ervan met schermafbeeldingen.
7. Geef CPU- en I/O-statistieken van schijven weer
iostat zonder argumenten geeft CPU en I/O statistieken weer van alle partities, zoals hieronder weergegeven.
[root@tecmint ~]# iostat
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.01 1.54 2.08 0.00 96.24
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.59 161.02 13.48 1086002 90882
dm-0 5.76 159.71 13.47 1077154 90864
dm-1 0.05 0.38 0.00 2576 0
8. Toont Linux CPU-statistieken
iostat met -c
argumenten geeft alleen CPU-statistieken weer, zoals hieronder weergegeven.
[root@tecmint ~]# iostat -c
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.01 1.47 1.98 0.00 96.42
9. Toont I/O-statistieken van Linux-schijven
iostat met -d
argumenten geven alleen schijf-I/O-statistieken weer van alle partities, zoals weergegeven.
[root@tecmint ~]# iostat -d
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.35 149.81 12.66 1086002 91746
dm-0 5.37 148.59 12.65 1077154 91728
dm-1 0.04 0.36 0.00 2576 0
10. Toont I/O-statistieken van een specifiek apparaat
Standaard worden statistieken van alle partities weergegeven, waarbij -p
en apparaatnaamargumenten alleen schijven en I/O-statistieken voor specifiek apparaat weergeven, zoals weergegeven.
[root@tecmint ~]# iostat -p sda
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 1.44 1.92 0.00 96.52
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.32 148.52 12.55 1086002 91770
sda1 0.07 0.56 0.00 4120 18
sda2 3.22 147.79 12.55 1080650 91752
11. Geef LVM-statistieken weer
Met de parameter -N
(hoofdletters) worden alleen LVM-statistieken weergegeven, zoals weergegeven.
[root@tecmint ~]# iostat -N
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 1.39 1.85 0.00 96.64
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.20 142.84 12.16 1086002 92466
vg_tecmint-lv_root 5.13 141.68 12.16 1077154 92448
vg_tecmint-lv_swap 0.04 0.34 0.00 2576 0
12. Controleer de Iostat-versie
Met de parameter -V
(hoofdletters) wordt de versie van iostat weergegeven, zoals weergegeven.
[root@tecmint ~]# iostat -V
sysstat version 11.7.3
(C) Sebastien Godard (sysstat orange.fr)
De vmstat en iostat bevatten een aantal kolommen en vlaggen die mogelijk niet in detail kunnen worden uitgelegd. Als u er meer over wilt weten, kunt u de manpagina van vmstat en iostat raadplegen.
man vmstat
man iostat
Deel het als u vindt dat dit artikel nuttig is via ons commentaarveld hieronder.