Zoeken op website

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.