Linux Vmstat naredba

Linux Vmstat Naredba



U ovom ćemo vodiču pokazati različite načine korištenja naredbe “vmstat” u Linuxu.

Preduvjeti:

Za izvođenje koraka koji su prikazani u ovom vodiču potrebne su vam sljedeće komponente:

  • Pravilno konfiguriran Linux sustav. Za potrebe testiranja, razmislite o korištenju Linux VM-a .
  • Pristup a ne-root korisnik sa sudo privilegijom
  • Osnovno razumijevanje sučelja naredbenog retka

Virtualna memorija u Linuxu

Fizička memorija, koja se također naziva RAM, ima ograničenu količinu. Kernel je odgovoran za distribuciju ovog prostora svim pokrenutim programima. Svi pokrenuti programi (uključujući OS) nalaze se u RAM-u.







Međutim, ako je zahtjev za memorijom veći od raspoložive memorije, to jednostavno ruši sustav (ili će program tražiti više memorijskog prostora). U većini situacija to je neželjeni ishod. Ovdje na scenu stupa virtualna memorija.



Virtualna memorija odnosi se na namjenski diskovni prostor na vašem HDD/SSD disku koji može djelovati kao dodatna memorija u teškim situacijama. Budući da djeluje kao RAM prostor (ali ne baš), smatra se 'virtualnim'. U UNIX/Linux sustavima ti se prostori nazivaju swap prostori.



Linux kernel premješta blokove memorije u prostor za razmjenu i po potrebi ih dohvaća natrag u RAM.





Izvedba virtualne memorije definitivno je sporija od fizičke memorije i izravno je proporcionalna izvedbi uređaja za pohranu. Međutim, u određenim hardverskim konfiguracijama (na primjer, korištenjem NVMe SSD-a), performanse mogu biti ekvivalentne RAM-u.

Naredba Vmstat

Naredba “vmstat” je alat za nadzor koji izvještava o različitim informacijama o virtualnoj memoriji. Dostupan je na svim Linux sustavima kao dio paketa 'sysstat'.



Struktura naredbi 'vmstat' je sljedeća:

$ vmstat < opcije > < odgoditi > < računati >

Osnovna upotreba

Ako se pokrene bez ikakvih parametara, 'vmstat' ispisuje informacije o sustavu od zadnjeg pokretanja:

$ vmstat

Izlaz je raspoređen u šest segmenata:

  • procesima : Statistika procesa koji se trenutno izvode
    • r : Broj aktivnih procesa
    • b : Broj procesa spavanja
  • memorija : Statistika o korištenju memorije
    • swpd : Ukupna količina virtualne memorije (swap prostor)
    • besplatno : Dostupan prostor za razmjenu
    • polirati : Količina swap prostora koji se koristi kao privremena memorija međuspremnika
    • predmemorija : Ukupna predmemorija
  • zamijeniti : Statistika o swap prostoru
    • Da : Stopa zamjene
    • tako : Stopa zamjene
  • ovaj : I/O statistika
    • s : Broj blokova primljenih od blok uređaja(a)
    • biti : Broj blokova poslanih blok uređaju(ima)
  • sustav : Statistika o rasporedu
    • u : Broj prekida sustava
    • cs : Stopa promjena konteksta
  • CPU : Razne CPU statistike
    • nas : CPU troši vrijeme na ne-kernel procese
    • i : CPU troši vrijeme na procese jezgre
    • iskaznica : CPU provodi vrijeme u stanju mirovanja
    • od : CPU troši vrijeme čekajući završetak I/O operacija
    • sv : CPU vrijeme koje koristi virtualni stroj

Promjena jedinice za prikaz

Prema zadanim postavkama, 'vmstat' prijavljuje vrijednosti memorije u kilobajtima. Za promjenu jedinice koristite ' -S ” zastava:

$ vmstat -S < argument >

Ovdje 'vmstat' ispisuje vrijednosti u megabajtima.

Dostupno je nekoliko memorijskih jedinica:

  • M : 1048576 bajtova (2^20 bajtova)
  • m : 1000000 bajtova (1000 kilobajta)
  • K : 1024 bajta (1 megabajt)
  • k : 1000 bajtova (1 kilobajt)

Kontinuirano ažuriranje statistike

Prema zadanim postavkama, 'vmstat' ispisuje izvješće jednom. Međutim, možemo uputiti 'vmstat' da pruža kontinuirana izvješća u određenom vremenskom intervalu (u sekundama).

Struktura zapovijedi je sljedeća:

$ vmstat < odgoditi >

Na primjer, da biste dobili ažuriranu statistiku svake 2 sekunde, naredba je sljedeća:

$ vmstat 2

Izlaz se neće zaustaviti osim ako se ručno ne prekine pomoću 'Ctrl + C'.

Alternativno, možemo navesti 'vmstat' za pružanje statistike za određeni broj puta:

$ vmstat < odgoditi > < računati >

Na primjer, da biste dobili ažuriranu statistiku svake 2 sekunde 5 puta, naredba izgleda ovako:

$ vmstat 2 5

Aktivna i neaktivna memorija

Aktivna memorija odnosi se na memorijski prostor koji trenutno koristi proces. S druge strane, neaktivna memorija odnosi se na memorijski prostor koji je dodijeljen procesu koji se više ne izvodi.

Koristeći 'vmstat', možemo provjeriti količinu aktivnih i neaktivnih memorija koje se koriste:

$ vmstat -a

Ovdje su stupci 'buff' i 'cache' zamijenjeni stupcima 'inact' i 'active'.

Memorija i raspoređivanje

Da biste dobili detaljnije izvješće o memoriji i rasporedu, koristite sljedeću naredbu:

$ vmstat -s

Ovdje:

  • Odjeljak 1: Ovaj odjeljak bavi se osnovnim informacijama o sustavu kao što su ukupna fizička memorija, aktivna/neaktivna memorija, slobodna/međuspremnik/memorija itd.
  • Odjeljak 2: Razne CPU statistike
    • Nedobri CPU otkucaji : Koliko su puta procesi visokog prioriteta koristili CPU.
    • Lijepi CPU otkucaji : Broj puta kada su procesi nižeg prioriteta koristili CPU.
    • CPU sustava otkucava : Broj puta kada su procesi jezgre koristili CPU.
    • Neaktivan procesor otkucava : Broj puta kada je CPU bio u stanju mirovanja.
    • IO-čekanje CPU otkucava : Koliko puta CPU čeka na I/O upravljanje.
    • IRQ : Broj puta kada je CPU primio zahtjeve za prekid.
    • softirq : Broj puta kada je CPU primio zahtjeve za softverski prekid.
    • ukradeni CPU otkucaji : Koliko su puta VM-ovi ukrali CPU vrijeme.
  • Odjeljak 3: Statistika straničenja memorije
  • Odjeljak 4: Brojači događaja

Vilice od Boota

Forkovi se odnose na procese koje su iznjedrili postojeći procesi. Da biste dobili statistiku o broju vilica, pokrenite sljedeću naredbu:

$ vmstat -f

Statistika diskova i particija

Naredba “vmstat” također može pružiti informacije o aktivnostima diska. Da biste dobili brzi sažetak aktivnosti diska, pokrenite sljedeću naredbu:

$ vmstat -D

Da biste dobili detaljnije izvješće o aktivnosti diska (uključujući statistiku čitanja/pisanja), umjesto toga koristite sljedeću naredbu:

$ vmstat -d

Ovdje:

  • čita
    • ukupno : Ukupan broj čitanja diska
    • spojeno : Ukupan broj grupnih čitanja
    • sektorima : Ukupan broj pročitanih sektora
    • ms : Ukupno vrijeme za čitanje podataka s diska (u milisekundama)
  • Piše
    • ukupno : Ukupan broj upisa na disk
    • spojeno : Ukupan broj upisa grupe
    • sektorima : Ukupan broj zapisanih sektora
    • ms : Ukupno vrijeme za pisanje na disk (u milisekundama)
  • IO
    • staviti : Ukupno trenutno čitanje/pisanje diska
    • sek : Količina vremena provedenog u tekućoj operaciji čitanja/pisanja (u sekundama)

Naredba “vmstat” također može generirati izvješća za određenu particiju diska. Za dobivanje izvješća o particiji upotrijebite sljedeću strukturu naredbi:

$ vmstat -str < identifikator_particije >

Statistika ploča

Dodjela ploča osmišljena je kao učinkovit mehanizam za dodjelu memorije objekata. U usporedbi s prethodnim mehanizmima, slaba alokacija nudi smanjenje fragmentacije memorije (uzrokovane alokacijom i dealokacijom memorije).

Za provjeru statistike ploče sustava, koristite sljedeću naredbu “vmstat”:

$ sudo vmstat -m

Imajte na umu da je za pregled statistike potrebna root dozvola.

Ovdje:

  • Predmemorija : Naziv podataka u predmemoriji
  • na jedan : Broj objekata koji su aktivni u Num cacheu
  • Ukupno : Ukupan broj objekata u određenoj predmemorij
  • Veličina : Veličina predmemoriranih objekata
  • Stranice : Broj memorijskih stranica koje sadrže predmemorirane objekte

Zaključak

U ovom vodiču prikazali smo različite načine korištenja naredbe 'vmstat'. Osim virtualne memorije, 'vmstat' također može izvješćivati ​​o statistici diska, račvama, pločama i još mnogo toga.

Zainteresirani ste za učenje o drugim alatima za nadzor sustava? Nauči više o htop , ubiti , p.s itd.

Sretno računanje!