Linux Vmstat Command

Linux Vmstat Command



Sa gabay na ito, ipapakita namin ang iba't ibang paraan ng paggamit ng command na 'vmstat' sa Linux.

Mga kinakailangan:

Upang maisagawa ang mga hakbang na ipinakita sa gabay na ito, kailangan mo ang mga sumusunod na bahagi:

Virtual Memory sa Linux

Ang pisikal na memorya, na tinutukoy din bilang RAM, ay may hangganan sa halaga. Ang kernel ay responsable para sa pamamahagi ng puwang na ito sa lahat ng tumatakbong mga programa. Ang lahat ng tumatakbong mga programa (kabilang ang OS) ay naninirahan sa RAM.







Gayunpaman, kung ang pangangailangan para sa memorya ay mas mataas kaysa sa magagamit nitong memorya, ito ay nag-crash lang sa system (o ang programa ay hihingi ng mas maraming memory space). Sa karamihan ng mga sitwasyon, iyon ay isang hindi gustong resulta. Dito pumapasok ang virtual memory.



Ang virtual na memorya ay tumutukoy sa isang nakalaang puwang sa disk sa iyong HDD/SSD na maaaring kumilos bilang karagdagang memorya sa mga mahirap na sitwasyon. Dahil ito ay kumikilos bilang RAM space (ngunit hindi talaga), ito ay itinuturing na 'virtual'. Sa UNIX/Linux system, ang mga puwang na ito ay tinutukoy bilang mga swap space.



Ang Linux kernel ay naglilipat ng mga bloke ng memorya sa swap space at ibinabalik ang mga ito pabalik sa RAM kung kinakailangan.





Ang pagganap ng virtual memory ay tiyak na mas mabagal kaysa sa pisikal na memorya at direktang proporsyonal sa pagganap ng storage device. Gayunpaman, sa mga partikular na pagsasaayos ng hardware (gamit ang NVMe SSD, halimbawa), ang pagganap ay maaaring katumbas ng RAM.

Ang Vmstat Command

Ang command na 'vmstat' ay isang tool sa pagsubaybay na nag-uulat ng iba't ibang impormasyon tungkol sa virtual memory. Available ito sa lahat ng Linux system bilang bahagi ng package na 'sysstat'.



Ang istraktura ng command ng 'vmstat' ay ang mga sumusunod:

$ vmstat < mga pagpipilian > < pagkaantala > < bilangin >

Pangunahing Paggamit

Kung ito ay pinapatakbo nang walang anumang parameter, ini-print ng 'vmstat' ang impormasyon ng system mula noong huling boot:

$ vmstat

Ang output ay nakaayos sa anim na mga segment:

  • mga proseso : Mga istatistika ng mga prosesong kasalukuyang tumatakbo
    • r : Bilang ng mga aktibong proseso
    • b : Bilang ng mga proseso ng pagtulog
  • alaala : Mga istatistika sa paggamit ng memorya
    • swpd : Kabuuang dami ng virtual memory (swap space)
    • libre : Magagamit na swap space
    • buff : Ang dami ng swap space na ginagamit bilang pansamantalang buffer memory
    • cache : Kabuuang cache memory
  • magpalit : Mga istatistika tungkol sa swap space
    • Oo : Rate ng pagpapalit
    • kaya : Rate ng pagpapalit
  • ito : I/O statistics
    • may a : Bilang ng mga bloke na natanggap mula sa (mga) block device
    • maging : Bilang ng mga block na ipinadala upang harangan ang (mga) device
  • sistema : Mga istatistika sa pag-iiskedyul
    • sa : Bilang ng mga interrupts ng system
    • cs : Rate ng mga paglipat ng konteksto
  • cpu : Iba't ibang mga istatistika ng CPU
    • sa amin : Paggastos ng oras ng CPU sa mga prosesong hindi kernel
    • at : Paggastos ng oras ng CPU sa mga proseso ng kernel
    • id : CPU na gumugugol ng oras sa kawalang-ginagawa
    • ng : Paggastos ng oras ng CPU sa paghihintay para makumpleto ang mga operasyon ng I/O
    • st : Oras ng CPU na ginagamit ng isang virtual machine

Pagbabago ng Display Unit

Bilang default, iniuulat ng 'vmstat' ang mga halaga ng memorya sa kilobytes. Para palitan ang unit, gamitin ang “ -S ' bandila:

$ vmstat -S < argumento >

Dito, ini-print ng 'vmstat' ang mga halaga sa megabytes.

Mayroong ilang mga yunit ng memorya na magagamit:

  • M : 1048576 byte (2^20 byte)
  • m : 1000000 bytes (1000 kilobyte)
  • K : 1024 bytes (1 megabyte)
  • k : 1000 bytes (1 kilobyte)

Patuloy na Pag-update ng Istatistika

Bilang default, ini-print ng 'vmstat' ang ulat nang isang beses. Gayunpaman, maaari naming turuan ang 'vmstat' na magbigay ng tuluy-tuloy na mga ulat sa isang tinukoy na agwat ng oras (sa mga segundo).

Ang istraktura ng command ay ang mga sumusunod:

$ vmstat < pagkaantala >

Halimbawa, upang makuha ang na-update na istatistika bawat 2 segundo, ang utos ay ang mga sumusunod:

$ vmstat 2

Ang output ay hindi titigil maliban kung ito ay manu-manong winakasan gamit ang 'Ctrl + C'.

Bilang kahalili, maaari naming tukuyin ang 'vmstat' upang ibigay ang mga istatistika para sa isang tiyak na dami ng beses:

$ vmstat < pagkaantala > < bilangin >

Halimbawa, para makuha ang na-update na istatistika tuwing 2 segundo sa loob ng 5 beses, ganito ang hitsura ng command:

$ vmstat 2 5

Aktibo at Di-aktibong Memorya

Ang aktibong memorya ay tumutukoy sa espasyo ng memorya na kasalukuyang ginagamit ng isang proseso. Sa kabilang banda, ang hindi aktibong memorya ay tumutukoy sa espasyo ng memorya na itinalaga sa isang proseso na hindi na tumatakbo.

Gamit ang 'vmstat', maaari naming suriin ang dami ng aktibo at hindi aktibong memorya na ginagamit:

$ vmstat -a

Dito, ang mga column na 'buff' at 'cache' ay pinapalitan ng mga column na 'hindi aktibo' at 'aktibo', ayon sa pagkakabanggit.

Memorya at Pag-iiskedyul

Upang makakuha ng mas detalyadong ulat sa memorya at pag-iiskedyul, gamitin ang sumusunod na command:

$ vmstat -s

dito:

  • Seksyon 1: Ang seksyong ito ay tumatalakay sa pangunahing impormasyon ng system tulad ng kabuuang pisikal na memorya, aktibo/hindi aktibong memorya, libre/buffer/cache memory, atbp.
  • Seksyon 2: Iba't ibang istatistika ng CPU
    • Hindi magandang CPU ticks : Ilang beses ginamit ng mga prosesong may mataas na priyoridad ang CPU.
    • Ganda ng CPU ticks : Ang dami ng beses na ginamit ng mas mababang priyoridad na proseso ang CPU.
    • Ang system CPU ticks : Ang dami ng beses na ginamit ng mga proseso ng kernel ang CPU.
    • Idle CPU ticks : Ang dami ng beses na nakatigil ang CPU.
    • IO-wait CPU ticks : Ang dami ng beses na naghihintay ang CPU para sa pamamahala ng I/O.
    • IRQ : Ang dami ng beses na natanggap ng CPU ang mga kahilingan sa interrupt.
    • softirq : Ang dami ng beses na natanggap ng CPU ang mga kahilingan sa interrupt ng software.
    • ninakaw na mga ticks ng CPU : Ang dami ng beses na ninakaw ng mga VM ang oras ng CPU.
  • Seksyon 3: Mga istatistika ng paging ng memorya
  • Seksyon 4: Mga counter ng kaganapan

Mga tinidor mula noong Boot

Ang mga tinidor ay tumutukoy sa mga prosesong nabuo ng mga kasalukuyang proseso. Upang makuha ang mga istatistika sa mga bilang ng tinidor, patakbuhin ang sumusunod na command:

$ vmstat -f

Mga Istatistika ng Disk at Partition

Ang command na 'vmstat' ay maaari ding magbigay ng impormasyon tungkol sa aktibidad ng disk. Upang makakuha ng mabilis na buod ng aktibidad sa disk, patakbuhin ang sumusunod na command:

$ vmstat -D

Upang makakuha ng mas detalyadong ulat sa aktibidad ng disk (kabilang ang mga istatistika ng pagbasa/pagsusulat), gamitin sa halip ang sumusunod na command:

$ vmstat -d

dito:

  • Nagbabasa
    • kabuuan : Kabuuang disk read count
    • pinagsanib : Bilang ng kabuuang binasa ng pangkat
    • mga sektor : Kabuuang bilang ng mga sektor na nabasa
    • MS : Kabuuang tagal ng oras upang basahin ang data mula sa disk (sa millisecond)
  • Nagsusulat
    • kabuuan : Kabuuang bilang ng disk write
    • pinagsanib : Bilang ng kabuuang pagsusulat ng pangkat
    • mga sektor : Kabuuang bilang ng mga sektor na nakasulat
    • MS : Kabuuang tagal ng oras para magsulat sa disk (sa milliseconds)
  • IO
    • ilagay : Kabuuang kasalukuyang pagbabasa/pagsusulat ng disk
    • sec : Halaga ng oras na ginugol sa patuloy na pagbabasa/pagsusulat ng operasyon (sa mga segundo)

Ang command na 'vmstat' ay maaari ding bumuo ng mga ulat para sa isang partikular na disk partition. Upang makuha ang ulat ng partisyon, gamitin ang sumusunod na istraktura ng command:

$ vmstat -p < partition_identifier >

Mga Istatistika ng Slab

Ang paglalaan ng slab ay idinisenyo upang maging isang mahusay na mekanismo para sa paglalaan ng memorya ng mga bagay. Kung ikukumpara sa mga nakaraang mekanismo, ang paglalaan ng slab ay nag-aalok ng pagbawas ng pagkapira-piraso ng memorya (sanhi ng paglalaan ng memorya at deallocation).

Upang suriin ang mga istatistika ng slab ng system, gamitin ang sumusunod na command na 'vmstat':

$ sudo vmstat -m

Tandaan na nangangailangan ito ng pahintulot sa ugat upang tingnan ang mga istatistika.

dito:

  • Cache : Pangalan ng naka-cache na data
  • sa isa : Bilang ng mga bagay na aktibo sa Num cache
  • Kabuuan : Kabuuang bilang ng mga bagay sa isang partikular na cache
  • Sukat : Sukat ng mga naka-cache na bagay
  • Mga pahina : Bilang ng mga pahina ng memorya na naglalaman ng mga naka-cache na bagay

Konklusyon

Sa gabay na ito, ipinakita namin ang iba't ibang paraan ng paggamit ng command na 'vmstat'. Bukod sa virtual memory, ang 'vmstat' ay maaari ding mag-ulat sa mga istatistika ng disk, mga tinidor, mga slab, at higit pa.

Interesado sa pag-aaral tungkol sa iba pang mga tool sa pagsubaybay sa system? Matuto ng mas marami tungkol sa htop , pumatay , ps , atbp.

Maligayang pag-compute!