Vmstat

From EIK wiki

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, mida saab kasutada oma arvuti mälu, protsessori, saalimise ja katkestuste jälgimiseks. Vmstat’i tööriist on saadaval enamikes UNIX[1] 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[2]. Vmstat ei ole Linuxis jooksev protsess ning seda tööriista on võimalik kasutada ka tavakasutaja õigustes.[3]

Käsusüntaks

      vmstat [-a] [-n] [delay [ count]]
      vmstat [-f] [-s] [-m]
      vmstat [-S unit]
      vmstat [-d]
      vmstat [-p disk partition]
      vmstat [-V]

[4]

Lisavalikud

Lisavalikuid ja käsusüntaksit on võimalik vaadata manuaali lehelt, vmstat käsku tutvustava manuaali lehe saab avada terminaliaknas käsu man vmstat abil.

vmstat -a -näitab aktiivset / mitte aktiivset mälu.

vmstat -f -näitab fork[5] , vfork[6] ja clone[7] 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 -w -laiendatud väljundreziim, rohkem kui 80 tähemärki rea kohta. (Kasulik süsteemides, kus on kasutusel suurem mälu, et väljastatava rapori tulbad oleksid kõik näha.).

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 14.04 LTS versiooni.


  • Vmstat süntaks

Kasutatud käsk: vmsat --help

Joonis 1 - käsusüntaks



















  • vmstat raporti väljastamine.

Kasutatud käsk: vmstat

Joonis 2 - raport







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 blokid (iga sekundi kohta)
bo: välja saadetud blokid (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

Joonis 3 - Versiooni info





Procps[8] 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.3.9



  • vmstat -n [aeg sekundites]

Kasutatud käsk: vmstat -n 5

Joonis 4 - raporti loomine kindla intervalliga












Iga 5 sekundi järel koostatakse uus raporti rida, nii on võimalik jälgida kas selle aja jooksul on toimunud süsteemis mingeid muudatusi. Raporti päist ei looda uuesti, lisanduvad vaid uued raporti read. Raproti katkestamiseks tuleb klaviatuuril vajutada CTRL+C.
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

Joonis 5 - mälu raport







memory - mälu:
swpd: swap space[9] ehk saaleala
free: vaba mälu
inact: mitteaktiivne mälu
active: aktiivne mälu



  • vmstat -d: väljastab ketta statistika.

Kasutatud käsk: vmstat -d

Joonis 6 - ketta statistika

























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

Joonis 7- ketta info tabelina












Tabelis on näha kogu saadaolev info ketta kohta, näiteks ketta partitsioonide arv. Ülaloleval joonisel on see 4.



  • vmstat -p[ketta partsitsioon]

Kasutatud käsud: vmstat -p sbd5, vmstat -p sda1

Joonis 8 - partitsiooni statistika








Käsku vmstat -p [ketta partitsioon] 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 virtual memory (virtuaalmälu) kohta info tabeli kujul.

Kasutatud käsk: vmstat -s

Joonis 9 - virtuaalmälu info tabelina





















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

Joonis 10 - raporti väljastamine














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

Joonis 11 - protsesside koopiad





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

Joonis 12- parameetrid








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 blokid on 1024 baidised. Vanadel tuumadel võib olla 512, 2048 või 40296 baidiseid blokke. 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.[10]

Minu arvates on vmstat vajalik tööriist, mille abil saab jälgida kui palju virtuaalmälu süsteemis on, kui palju sellest hetkel on vaba ja palju kasutusel. Nagu eelnevatest näidetest näha, on vmstat abil võimalik saada päris palju erinevat informatsiooni oma süsteemis toimuva kohta. Vmstat käsu kohta on olemas manuaal, mida saab Linuxi puhul oma masina terminaliaknast vaadata käsu man vmstat abil. Samuti võimalik internetist leida palju informatsiooni ning näiteid. Kes soovib Linuxi operatsioonisüsteemis virtuaalmälust ja selle monitoorimisest vmstat käsu abil rohkem teada saada, võib alustada lugemist näiteks siit[11].

Kasutatud materjalid

1. http://www.unix.org/what_is_unix.html 12.12.2015
2. http://linuxcommand.org/man_pages/vmstat8.html 12.11.2015
3. http://www.dba-oracle.com/t_tuning_vmstat.htm 13.12.2015
4. http://linuxcommand.org/man_pages/vmstat8.html 12.11.2015
5. http://linux.die.net/man/2/fork 12.12.2015
6. http://linux.die.net/man/2/vfork 12.12.2015
7. http://linux.die.net/man/2/clone 12.12.2015
8. https://packages.debian.org/sid/procps 13.12.2015
9. https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space 13.12.2015
10. http://linux.die.net/man/8/vmstat 12.11.2015
11. http://www.linuxjournal.com/article/8178

Autor

Nele Kiigemägi Rühm A21 2011

Täiendas:

Diana Lõhmus Rühm AK21 2015