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
- vmstat - atmiņas, procesu, peidžeru uc kopsavilkuma informācija
- 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
-
- Bezmaksas - brīvas/brīvgaitas atmiņas vietu skaits.
- si - mainīts katrā sekundē no diska failā Kilo Bytes.
- 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.