Vmstat: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Dlohmus (talk | contribs)
Dlohmus (talk | contribs)
 
(160 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Sissejuhatus =
= Sissejuhatus =


Antud leheküljel on kirjeldatud UNIX süsteemides toimiva käsurea tööriista '''vmstat'''. Kirjutise eesmärgiks on tutvustada, kuidas see käsk toimib ning mille jaoks seda kasutatakse.
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 kasutatakse arvuti mälu, protsessori, saalimise ja katkestuste jälgimiseks.  
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[http://www.unix.org/what_is_unix.html] 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[http://www.dba-oracle.com/t_tuning_vmstat.htm]. '''Vmstat''' ei ole Linuxis jooksev protsess ning seda tööriista on võimalik kasutada ka tavakasutaja õigustes.[http://linuxcommand.org/man_pages/vmstat8.html]
 
'''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. '''Vmstat''' tööriista abil koostatud raportid on mõeldud selleks, et nende abil saab tuvastada niinimetatud süsteemi pudelikaelu.


= Käsusüntaks =
= Käsusüntaks =
Line 15: Line 13:
       vmstat [-p disk partition]
       vmstat [-p disk partition]
       vmstat [-V]
       vmstat [-V]
[http://linuxcommand.org/man_pages/vmstat8.html]


= Lisavalikud =
= 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 -a''' -näitab aktiivset / mitte aktiivset mälu.  
Line 22: Line 24:
'''vmstat -f''' -näitab '''''fork[http://linux.die.net/man/2/fork] , vfork[http://linux.die.net/man/2/vfork]''''' ja '''''clone[http://linux.die.net/man/2/clone]''''' 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 -f''' -näitab '''''fork[http://linux.die.net/man/2/fork] , vfork[http://linux.die.net/man/2/vfork]''''' ja '''''clone[http://linux.die.net/man/2/clone]''''' 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''' -kuvab segmendiinfot
'''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 -n''' -päiseid ei kuvata perioodiliselt. Iga kord, kui raportisse midagi lisatakse, 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 -s''' - kuvab virtuaalmälus toimuvate sündmuste ja mälu statistika tabeli. See tabel ei kordu.
'''vmstat -d''' -väljastab ketta statistika.


'''vmstat -d''' -kuvab ketta statistika.
'''vmstat -D''' -väljastab ketta informatsiooni tabeli kujul.


'''vmstat -p''' -kuvab valitud kettapartitsiooni detailse statistika.
'''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 -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''' -kuvab versiooni informatsiooni.
'''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.
Lisavalikute detailsemad kirjeldused on toodud peatükis '''vmstat'i''' kasutamise näited.
Line 40: Line 46:
= Vmstat'i kasutamise näited =
= Vmstat'i kasutamise näited =


Allolevad pildid ja näited on tehtud kasutades Ubuntu 11.04 server versiooni Linuxist.  
Allolevad pildid ja näited on tehtud kasutades Linuxi terminali, täpsemalt Ubuntu 14.04 LTS versiooni.  




[[File:Vmstatkäsud.png]]


* '''Vmstat''' süntaks


'''vmstat''' - väljastab raporti.
Kasutatud käsk: vmsat --help
[[File:Vmstat --help.PNG | left| frame | Joonis 1 - käsusüntaks]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>


Vmstat’i esimene raport kuvab keskmiseid näitajaid alates eelmisest taaskäivitusest. Protsessi ja mälu raportid on hetkelised.
----
<br>
*'''vmstat''' raporti väljastamine.


[[File:Vmstat.png]]
Kasutatud käsk: vmstat
[[File:Vmstatraport.PNG | left | frame | Joonis 2 - raport]]
<br>
<br>
<br>
<br>
<br>
<br>
Vmstat’i esimene raport kuvab keskmised näitajad alates eelmisest taaskäivitusest. Protsessi ja mälu raportites väljastatakse hetkeseis.


'''procs:'''
'''procs - protsessid:'''


r:  näitab palju protsesse ootavad käima minemist.
r:  näitab palju protsesse ootavad käima minemist.<br />
b: näitab palju on hõivatud protsesse.<br />


b: näitab palju on hõivatud protsesse.
'''memory - mälu:'''


'''memory:'''
swpd: kasutatud virtuaalne mälu<br />
free: vaba virtuaalne mälu<br />
buff: mälu, mis on kasutusel puhvermäluna<br />
cache: mälu, mis on kasutusel vahemäluna<br />


swpd: kasutatud virtuaalne mälu
'''swap - saalimine:'''


free: vaba virtuaalne mälu
si: väljasaalimine kettalt (sekundis)<br />
so: sissesaalimine kettale (sekundis)<br />


buff: mälu, mida kasutatakse kui puhvrit
'''IO - sisend/väljund:'''


cache: mälu, mida kasutatakse vahemäluna
bi: vastu võetud blokid (iga sekundi kohta)<br />
bo: välja saadetud blokid (iga sekundi kohta)<br />


'''swap:'''
'''system - süsteem:'''


si: mälu swapitud kettalt (igaks sekundiks)
in: katkestused iga sekundi kohta<br />
cs:  taustalülituste arv sekundi kohta<br />


so: mälu swapitud kettale (igaks sekundiks)
'''cpu - protsessor:'''


'''io:'''  
us: user time ehk kasutaja aeg<br />
sy: system time ehk süsteemi aeg<br />
id: idle time ehk tegevusetu aeg<br />
wa: waiting time ehk ooteaeg<br />
<br>
----
<br>
*'''vmstat -V''' - väljastab versiooni informatsiooni


bi: ''blocks in'' (iga sekundi kohta)
Kasutatud käsk: vmstat -V


bo: ''blocks out'' (iga sekundi kohta)
[[File:Vmstat_version.PNG | left | frame | Joonis 3 - Versiooni info]]
<br>
<br>
<br>
<br>
'''Procps'''[https://packages.debian.org/sid/procps] on Linuxi tarkvarapakett, mis sisaldab mitut erinevat utiliiti, mille abil on võimalik saada informatsiooni protsesside kohta /proc failisüsteemis.


'''system:'''
Nagu ülalolevalt jooniselt nähtub, on siin tegemist versiooniga 3.3.9
<br>
<br>
----
<br>
*'''vmstat -n''' [aeg sekundites]


in: katkestused iga sekundi kohta
Kasutatud käsk: vmstat -n 5
 
cs:  Context switches
 
'''cpu:'''
 
us: user time ehk kasutaja aeg
 
sy: system time ehk süsteemi aeg
 
id: idle time ehk tegevusetu aeg
 
wa: wait time ehk ooteaeg
 
 
'''vmstat -V''': väljastab versiooni informatsiooni.
 
[[File:Vmstat-V.png]]


[[File:Vmstat_n.PNG | left | frame | Joonis 4 - raporti loomine kindla intervalliga ]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
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.<br />
Parameetrit -n saab kasutada ka koos teiste parameetritega, näiteks vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] .
<br>
<br>
----
<br>
*'''vmstat -a''':  näitab aktiivset/mitteaktiivset mälu.
Kasutatud käsk: vmstat -a


'''vmstat -n''' [mitme sekundi tagant soovite uuendust]: iga kord, kui tuleb uus raport, tekib lihtsalt uus rida ilma päiseta.  
[[File:Vmstat a.PNG | left | frame |Joonis 5 - mälu raport]]
<br>
<br>
<br>
<br>
<br>
<br />
'''memory - mälu:'''<br />
swpd: ''swap space''[https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space] ehk saaleala<br />
free: vaba mälu<br />
inact: mitteaktiivne mälu<br />
active: aktiivne mälu<br />
<br>
----
<br>
*'''vmstat -d''': väljastab ketta statistika.


[[File:Vmstat-n.png]]
Kasutatud käsk: vmstat -d
 
 
'''vmstat -a''':  näitab aktiivset/mitteaktiivset mälu.
 
[[File:Vmstat-a.png]]
 
 
'''vmstat -d''': väljastab ketta statistika – lugemised, kirjutamised, I/O statistika.
 
[[File:Vmstat-d.png]]


[[File:Vmstat-dsmall.png | left | frame | Joonis 6 - ketta statistika]]
<br>
<br>
<br>
<br>
<br>
<br />
<br>
<br>
<br>
<br>
<br>
<br />
<br>
<br>
<br>
<br>
<br>
<br />
<br>
<br>
<br />
<br>
<br />
<br />
Väljade kirjeldus:
Väljade kirjeldus:


'''Reads - lugemised:'''
'''Reads - kettalt lugemised:'''
 
Total: kõik lugemised, mis on edukalt lõpetatud.
 
Merged: grupeeritud lugemised (tulemusena ühes I/O-s)
 
Sectors: edukalt loetud sektorid
 
Ms:  lugemisele kulutatud aeg millisekundites.


'''Writes - kirjutamised:'''
Total: kõik kettalt lugemised, mis on edukalt lõpetatud.<br />
Merged: kettalt lugemised grupeerituna(tulemusena ühes I/O-s)<br />
Sectors: edukalt loetud sektorid<br />
Ms: lugemisele kulutatud aeg millisekundites.<br />


Total: kõik kirjutamised, mis on edukalt lõpetatud
'''Writes - kettale kirjutamised:'''


Merged: grupeeritud kirjutamised (tulemusena ühes I/O-s)
Total: kõik kettale kirjutamised, mis on edukalt lõpetatud<br />
Merged: kettale kirjutamised grupeeritult(tulemusena ühes I/O-s)<br />
Sectors: edukalt kirjutatud sektorid<br />
Ms: kirjutamiseks kulunud aeg millisekundites<br />


Sectors: edukalt kirjutatud sektorid
'''IO - Input/Output - Sisend/Väljund:'''


Ms: kirjutamiseks kulunud aeg millisekundites
Cur: I/O-d töös<br />
S: I/O jaoks kulunud aeg sekundites<br />
<br>
----
<br>


'''IO - Input Output:'''  
*'''vmstat -D''': väljastab informatsiooni ketta kohta tabeli kujul.


Cur: I/O-d töös
Kasutatud käsk: vmstat -D


S: I/O jaoks kulunud aeg sekundites
[[File:Vmstat-Dbig.PNG | left | frame | Joonis 7- ketta info tabelina]]
<br>
<br>
<br>
<br />
<br>
<br>
<br />
<br>
<br />
<br>
<br />
Tabelis on näha kogu saadaolev info ketta kohta, näiteks ketta partitsioonide arv. Ülaloleval joonisel on see 4.<br />
<br>
----
<br>


*'''vmstat -p'''[ketta partsitsioon]


'''vmstat -D''': väljastab ketta tabeli.
Kasutatud käsud: vmstat -p sbd5, vmstat -p sda1


[[File:Vmstat-Dsuur.png]]
[[File:Vmstat-part.PNG | left | frame | Joonis 8 - partitsiooni statistika]]


 
<br />
'''vmstat -p'''[ketta partsitsioon]: kasutatakse selleks, et väljastada ketta I/O statistikat ühe ketta partitsiooni kohta.
<br>
 
<br />
[[File:Vmstat-pdisknumber.png]]
<br>
<br />
<br>
<br />
Käsku vmstat -p [ketta partitsioon] kasutatakse selleks, et väljastada ketta sisend/väljund statistikat ühe ketta partitsiooni kohta.
   
   
Väljade kirjeldus:
Väljade kirjeldus:
Line 162: Line 275:
'''Writes - kirjutamised:'''
'''Writes - kirjutamised:'''


Requested writes: selle partitsioonile tehtud kirjutamise taotluste koguarv
Requested writes: selle partitsioonile tehtud kirjutamise taotluste koguarv<br />
 
<br>
 
----
'''vmstat -s''': väljastab tabeli, mis koosneb erinevatest event counters ja mälu statistikast. See raport ei kordu.  Kasutatakse, et väljastada raportit tabeli kujul. Prindib vm (virtual memory) tabeli.
<br>
 
[[File:Vmstat-s.png]]
 
 
'''vmstat –m''': väljastab ''slabinfo''t
 
[[File:Vmstat-m.png]]
 
Väljade kirjeldus:
 
Cache: cache’i nimi
 
Num: käesoleval hetkel aktiivsete objektide arv
 
Total: saadaval olevate objektide koguarv
 
Size: iga objekti suurus
 
Pages: vähemalt ühe aktiivse objektiga lehekülgede arv
 
Totpages: reserveeritud lehekülgede koguarv
 
Palab: lehekülgede arv ''slab''i ehk kohta


*'''vmstat -s''': Väljastab ''virtual memory'' (virtuaalmälu) kohta info tabeli kujul.


'''vmstat -S'''[ühik]: väljastab vmstat’i raporti nii, et ühikud raportis on valitud ühikutena väljastatud, näiteks k või K või m või M.
Kasutatud käsk: vmstat -s


[[File:Vmstat-Sunit.png]]
[[File:Vmstat-svm.PNG | left | frame | Joonis 9 - virtuaalmälu info tabelina]]
<br />
<br>
<br />
<br>
<br />
<br>
<br />
<br />
<br>
<br />
<br>
<br />
<br>
<br />
<br />
<br>
<br />
<br>
<br />
<br />


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.
<br>
<br />
----
<br>


'''vmstat –f''': väljastab kõik fork system calls’id, mida süsteem on teinud alates eelmisest boot’ist. See käsk väljastab kõik fork, vfork ja clone system call counts’id.
*'''vmstat -S'''[ühik]


[[File:Vmstat-f.png]]
Kasutatud käsud: <br />
vmstat -S K<br />
vmstat -S M<br />
vmstat -S k<br />
vmstat -S m<br />
[[File:Vmsta-Sbig.PNG | left | frame | Joonis 10 - raporti väljastamine]]
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
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). <br />
<br>
----
<br>


*'''vmstat –f'''


'''vmstat [delay[count]]''' : käsk, mis väljastab raporteid vastavalt valitud parameetritele. 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.
Kasutatud käsk: vmstat -f


[[File:Vmstat delay count.png]]
[[File:Vmstat-forks.PNG | left | frame | Joonis 11 - protsesside koopiad]]


= Lisaks =
<br />
<br />
<br />
<br />
Väljastab protsesside koopiate ''(fork, vfork, clone)'' arvu, mida süsteem on teinud alates eelmisest alglaadimisest.<br />
<br>
----
<br>


vmstat’i kasutamiseks pole vaja eraldi luba/õigusi.
*'''vmstat [delay[count]]''' : käsk, mis väljastab raporteid vastavalt valitud parameetritele.  


Raportid on mõeldud selleks, et aidata identifitseerida süsteemi kitsaskohti.
Kasutatud käsk: vmstat 2 3


Linuxis ei ole vmsat jooksev protsess.
[[File:Vmstat_param.PNG | left | frame | Joonis 12- parameetrid]]


Kõik linuxi plokid on 1024 baidised. Vanadel kernelitel võib olla 512, 2048 või 40296 baidiseid plokke.
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Delay – aeg uuenduste vahel sekundites. Kui seda ei ole eraldi välja toodud, siis väljastatakse ainult keskmised väärtused alates eelmisest taaskäivitusest.<br />
Count – mitu uuendust soovitakse valitud aja jooksul saada.


Alates props 3.1.9 laseb vmstat valida ühikuid (k, K, m, M), vaikimise on ühikuks K (1024 baiti).
= 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.[http://linux.die.net/man/8/vmstat]


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[http://www.linuxjournal.com/article/8178].


= Kasutatud materjalid =
= Kasutatud materjalid =


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


= Autor =
= Autor =

Latest revision as of 22:59, 14 December 2015

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