Vmstat
Sissejuhatus
Antud leheküljel on kirjeldatud UNIX süsteemides toimivat käsurea tööriista vmstat. Kirjutise eesmärgiks on tutvustada, kuidas see käsk toimib ning mille jaoks seda kasutatakse.
Virtual memory statistics ehk vmstat on käsurea tööriist, saab kasutada oma arvuti mälu, protsessori, saalimise ja katkestuste jälgimiseks. Saalimine tähendab programmi üleviimist kiirest mälust (muutmälust) aeglasse mällu (kõvakettale) ja vastupidi. Esimest nimetatakse väljasaalimiseks ja teist sissesaalimiseks. Sageli mõeldakse saalimise all nimelt kõvaketta (või saalimisfaili) kasutamist virtuaalmäluna või saalimisruumina.
Vmstat’i tööriist on saadaval enamikes UNIXi ja Unixi-taolistes operatsioonisüsteemides (näiteks Linuxis ja Solarises), kuid erinevates operatsioonisüsteemides võivad käsusüntaks ja väljastatava informatsiooni esitus olla veidi erinevad. Vmstat ei ole Linuxis jooksev protsess ning seda tööriista on võimalik kasutada ka tavakasutaja õigustes.
Käsusüntaks
vmstat [-a] [-n] [delay [ count]] vmstat [-f] [-s] [-m] vmstat [-S unit] vmstat [-d] vmstat [-p disk partition] vmstat [-V]
Lisavalikud
vmstat -a -näitab aktiivset / mitte aktiivset mälu.
vmstat -f -näitab fork[1] , vfork[2] ja clone[3] protsesside arvu alates viimasest alglaadimisest ning mis on võrdne loodud ülesannete kogusummaga. Iga protsess esindab ühte või mitut ülesannet, sõltuvalt täidetavate lõimede (täidetavate programmiosade) hulgast. Raportis olevad kirjed ei kordu.
vmstat -m -väljastab segmendiinfo
vmstat -n -perioodilise raporti puhul ei väljastata iga kord raporti päist. Kui raportisse midagi lisandub, on see uus rida ilma päiseta.
vmstat -s - väljastab virtuaalmälus toimuvate sündmuste ja mälu statistika tabeli. See tabel ei kordu.
vmstat -d -väljastab ketta statistika.
vmstat -D -väljastab ketta informatsiooni tabeli kujul.
vmstat -p -väljastab valitud kettapartitsiooni detailse statistika.
vmstat -S -väljastatud raportis saab kasutaja määrata, millistes ühikutes ta soovib raportit saada, kas k (1000 baiti), K (1024 baiti), m (1000000 baiti) või M (1048576 baiti)
vmstat -V -väljastab versiooni informatsiooni.
Lisavalikute detailsemad kirjeldused on toodud peatükis vmstat'i kasutamise näited.
Vmstat'i kasutamise näited
Allolevad pildid ja näited on tehtud kasutades Linuxi terminali, täpsemalt Ubuntu 11.04 serveri versiooni.
- Vmstat süntaks
Kasutatud käsk: vmsat --help
- vmstat raporti väljastamine.
Kasutatud käsk: vmstat
Vmstat’i esimene raport kuvab keskmised näitajad alates eelmisest taaskäivitusest. Protsessi ja mälu raportites väljastatakse hetkeseis.
procs - protsessid:
r: näitab palju protsesse ootavad käima minemist.
b: näitab palju on hõivatud protsesse.
memory - mälu:
swpd: kasutatud virtuaalne mälu
free: vaba virtuaalne mälu
buff: mälu, mis on kasutusel puhvermäluna
cache: mälu, mis on kasutusel vahemäluna
swap - saalimine:
si: väljasaalimine kettalt (sekundis)
so: sissesaalimine kettale (sekundis)
IO - sisend/väljund:
bi: vastu võetud plokid (iga sekundi kohta)
bo: välja saadetud plokid (iga sekundi kohta)
system - süsteem:
in: katkestused iga sekundi kohta
cs: taustalülituste arv sekundi kohta
cpu - protsessor:
us: user time ehk kasutaja aeg
sy: system time ehk süsteemi aeg
id: idle time ehk tegevusetu aeg
wa: waiting time ehk ooteaeg
- vmstat -V - väljastab versiooni informatsiooni
Kasutatud käsk: vmstat -V
Procps on Linuxi tarkvarapakett, mis sisaldab mitut erinevat utiliiti, mille abil on võimalik saada informatsiooni protsesside kohta /proc failisüsteemis.
Nagu ülalolevalt jooniselt nähtub, on siin tegemist versiooniga 3.2.8
- vmstat -n [aeg sekundites]
Kasutatud käsk: vmstat -n 5
Iga 5 sekundi tagant koostatakse uus raporti rida, nii on võimalik jälgida kas selle aja jooksul on toimunud süsteemis mingeid muutuseid. Rapoti päist ei looda uuesti, lisanduvad vaid uued raporti read.
Parameetrit -n saab kasutada ka koos teiste parameetritega, näiteks vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] .
- vmstat -a: näitab aktiivset/mitteaktiivset mälu.
Kasutatud käsk: vmstat -a
memory - mälu:
free: vaba mälu
inact: mitteaktiivne mälu
active: aktiivne mälu
vmstat -d: väljastab ketta statistika.
Kasutatud käsk: vmstat -d
Väljade kirjeldus:
Reads - kettalt lugemised:
Total: kõik kettalt lugemised, mis on edukalt lõpetatud.
Merged: kettalt lugemised grupeerituna(tulemusena ühes I/O-s)
Sectors: edukalt loetud sektorid
Ms: lugemisele kulutatud aeg millisekundites.
Writes - kettale kirjutamised:
Total: kõik kettale kirjutamised, mis on edukalt lõpetatud
Merged: kettale kirjutamised grupeeritult(tulemusena ühes I/O-s)
Sectors: edukalt kirjutatud sektorid
Ms: kirjutamiseks kulunud aeg millisekundites
IO - Input/Output - Sisend/Väljund:
Cur: I/O-d töös
S: I/O jaoks kulunud aeg sekundites
- vmstat -D: väljastab informatsiooni ketta kohta tabeli kujul.
Kasutatud käsk: vmstat -D
Tabelis on näha kogu saadaolev info ketta kohta, näiteks ketta partitsioonide arv. Ülaloleval joonisel on see 5.
- vmstat -p[ketta partsitsioon]
Kasutatud käsk: vmstat -p sbd5
Käsku vmstat -p kasutatakse selleks, et väljastada ketta sisend/väljund statistikat ühe ketta partitsiooni kohta.
Väljade kirjeldus:
Reads - lugemised:
Read sectors: sellele partitsioonile loetud sektorite koguarv
Writes - kirjutamised:
Requested writes: selle partitsioonile tehtud kirjutamise taotluste koguarv
- vmstat -s: Väljastab vm (virtual memory) info tabeli kujul.
Kasutatud käsk: vmstat -s
Väljastab tabeli, mis koosneb erinevatest sündmuste loenduritest ja mälu statistikast. Kasutatakse, et väljastada raportit tabeli kujul. Sealt on võimalik leida andmeid näiteks vaba mälu, kasutusel oleva mälu ja ka katkestuste kohta. Andmeid näidatakse alates viimasest taaskäivitusest.
- vmstat -S[ühik]
Kasutatud käsud:
vmstat -S K
vmstat -S M
vmstat -S k
vmstat -S m
Väljastab vmstat’i raporti nii, et ühikud väljastatud raportis on kasutaja poolt valitud, näiteks k ( 1000 bitti), K (1024 bitti), m (1000000 bitti) või M (1048576 bitti).
- vmstat –f
Kasutatud käsk: vmstat -f
Väljastab protsesside koopiate (fork, vfork, clone) arvu, mida süsteem on teinud alates eelmisest alglaadimisest.
- vmstat [delay[count]] : käsk, mis väljastab raporteid vastavalt valitud parameetritele.
Kasutatud käsk: vmstat 2 3
Delay – aeg uuenduste vahel sekundites. Kui seda ei ole eraldi välja toodud, siis väljastatakse ainult keskmised väärtused alates eelmisest taaskäivitusest.
Count – mitu uuendust soovitakse valitud aja jooksul saada.
Kokkuvõtteks
Vmstat tööriista kasutamiseks Linuxi süsteemides ei ole vaja sisse logida juurkasutaja õigustes. Vmstat ei ole Linuxis jooksev protsess. Kõik Linuxi plokid on 1024 baidised. Vanadel tuumadel võib olla 512, 2048 või 40296 baidiseid plokke. Alates props 3.1.9 laseb vmstat valida ühikuid (k, K, m, M), vaikimisi on ühikuks K (1024 baiti). Raportid on mõeldud selleks, et aidata identifitseerida süsteemi kitsaskohti ehk niinimetatud süsteemi pudelikaelu.
Kasutatud materjalid
http://www.thegeekstuff.com/2011/07/iostat-vmstat-mpstat-examples/
http://linuxcommand.org/man_pages/vmstat8.html 12.11.2015
http://linux.die.net/man/8/vmstat 12.11.2015
http://linux.about.com/library/cmd/blcmdl8_vmstat.htm 12.11.2015
http://www.vallaste.ee/ 15.11.2015
Autor
Nele Kiigemägi Rühm A21 2011
Täiendas:
Diana Lõhmus Rühm AK21 2015