Linux veiktspējas monitorings ar komandām Vmstat un Iostat


Šī ir mūsu notiekošā komandu un veiktspējas uzraudzības sērija Linux. Abas komandas Vmstat un Iostat ir pieejamas visās galvenajās Unix līdzīgajās (Linux/Unix/FreeBSD/Solaris) operētājsistēmās.

Ja vmstat un iostat komandas nav pieejamas jūsu lodziņā, lūdzu, instalējiet sysstat pakotni. Vmstat, sar un iostat komandas ir pakotnes kolekcija, kas iekļauta sysstat - sistēmas uzraudzības rīkos. Iostat ģenerē procesora un visas ierīces statistikas pārskatus. Jūs varat lejupielādēt un instalēt sysstat, izmantojot avota tarball no saites sysstat, taču iesakām to instalēt, izmantojot komandu YUM.

$ sudo yum install sysstat         #CentOS and RHEL systems 
$ sudo dnf install sysstat         #Fedora 22+ systems 
$ sudo apt-get install sysstat     #Ubuntu and Debian based systems 
$ sudo pacman -S sysstat           #Arch Linux

  1. vmstat - atmiņas, procesu, peidžeru uc kopsavilkuma informācija
  2. iostat - centrālā procesora (CPU) statistika un ievades/izvades statistika ierīcēm un starpsienām.

Šajā piemērā ir sešas kolonnas. Nozīmīgās kolonnas sīkāk izskaidrotas vmstat manā lapā. Svarīgākie lauki ir brīvi zem atmiņas un si, tātad zem mijmaiņas slejas.

 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

    1. Bezmaksas - brīvas/brīvgaitas atmiņas vietu skaits.
    2. si - mainīts katrā sekundē no diska failā Kilo Bytes.
    3. tātad - katru sekundi nomainiet uz disku failā Kilo Bytes.

    Piezīme. Ja palaižat vmstat bez parametriem, tas parādīs kopsavilkuma pārskatu kopš sistēmas palaišanas.

    Izmantojot šo komandu, vmstat izpilda ik pēc divām sekundēm un automātiski apstājas pēc sešu intervālu izpildīšanas.

     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

    vmstat komanda ar -t parametru rāda laika zīmogus ar katru izdrukātu līniju, kā parādīts zemāk.

    [[email  ~]$ 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

    Komanda vmstat un -s slēdzis parāda dažādu notikumu skaitītāju un atmiņas statistikas kopsavilkumu.

    [[email  ~]$ 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

    vmstat ar -d opcija parāda visu disku statistiku.

    [[email  ~]$ 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

    Pēc noklusējuma vmstat parāda atmiņas statistiku kilobaitos, taču ar argumentu -S M varat parādīt arī pārskatus ar atmiņas lielumu megabaitos. Apsveriet šādu piemēru.

     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

    iostat bez argumentiem parāda visu nodalījumu CPU un I/O statistiku, kā parādīts zemāk.

     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

    iostat ar -c argumentiem parāda tikai CPU statistiku, kā parādīts zemāk.

     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

    iostat ar -d argumentiem parāda tikai visu partīciju disku I/O statistiku, kā parādīts.

     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

    Pēc noklusējuma tas parāda visu nodalījumu statistiku, ar -p un ierīces nosaukuma argumentiem diska I/O statistika tiek rādīta tikai konkrētai ierīcei, kā parādīts.

     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

    Ar parametru -N (lielie burti) tiek parādīta tikai LVM statistika, kā parādīts.

     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

    Ar parametru -V (lielie burti) tiek parādīta iostat versija, kā parādīts.

     iostat -V
    
    sysstat version 9.0.4
    (C) Sebastien Godard (sysstat  orange.fr)

    Piezīme. Vmstat un iostat satur kolonnu un karodziņu skaitu, ko, iespējams, nav iespējams detalizēti izskaidrot. Ja vēlaties uzzināt vairāk par to, varat skatīt vmstat un iostat man lapu. Lūdzu, kopīgojiet to, ja uzskatāt, ka šis raksts ir noderīgs, izmantojot mūsu komentāru lodziņu zemāk.