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!