Vmstat: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(97 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, 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.
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.


= 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 Linuxi terminali, täpsemalt Ubuntu 11.04 serveri versiooni.  
Allolevad pildid ja näited on tehtud kasutades Linuxi terminali, täpsemalt Ubuntu 14.04 LTS versiooni.  




Line 47: Line 53:


Kasutatud käsk: vmsat --help
Kasutatud käsk: vmsat --help
[[File:Vmstatkäsud.png | left | frame | Joonis 1 - käsusüntaks]]
[[File:Vmstat --help.PNG | left| frame | Joonis 1 - käsusüntaks]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Line 65: Line 76:


Kasutatud käsk: vmstat
Kasutatud käsk: vmstat
[[File:Vmstat.png | left | frame | Joonis 2 - raport]]
[[File:Vmstatraport.PNG | left | frame | Joonis 2 - raport]]
<br>
<br>
<br>
<br>
<br>
Line 75: Line 87:
'''procs - protsessid:'''
'''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 - mälu:'''


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


'''swap - saalimine:'''
'''swap - saalimine:'''


si: väljasaalimine kettalt (sekundis)
si: väljasaalimine kettalt (sekundis)<br />
 
so: sissesaalimine kettale (sekundis)<br />
so: sissesaalimine kettale (sekundis)


'''IO - sisend/väljund:'''  
'''IO - sisend/väljund:'''  


bi: vastu võetud plokid (iga sekundi kohta)
bi: vastu võetud blokid (iga sekundi kohta)<br />
 
bo: välja saadetud blokid (iga sekundi kohta)<br />
bo: välja saadetud plokid (iga sekundi kohta)


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


in: katkestused iga sekundi kohta
in: katkestused iga sekundi kohta<br />
 
cs:  taustalülituste arv sekundi kohta<br />
cs:  taustalülituste arv sekundi kohta


'''cpu - protsessor:'''
'''cpu - protsessor:'''


us: user time ehk kasutaja aeg
us: user time ehk kasutaja aeg<br />
 
sy: system time ehk süsteemi aeg<br />
sy: system time ehk süsteemi aeg
id: idle time ehk tegevusetu aeg<br />
 
wa: waiting time ehk ooteaeg<br />
id: idle time ehk tegevusetu aeg
 
wa: waiting time ehk ooteaeg
<br>
<br>
----
----
Line 123: Line 125:
Kasutatud käsk: vmstat -V
Kasutatud käsk: vmstat -V


[[File:Vmstat-V.png | left | frame | Joonis 3 - Versiooni info]]
[[File:Vmstat_version.PNG | left | frame | Joonis 3 - Versiooni info]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
'''Procps''' on Linuxi tarkvarapakett, mis sisaldab mitut erinevat utiliiti, mille abil on võimalik saada informatsiooni protsesside kohta /proc failisüsteemis.  
'''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.  


Nagu ülalolevalt jooniselt nähtub, on siin tegemist versiooniga 3.2.8
Nagu ülalolevalt jooniselt nähtub, on siin tegemist versiooniga 3.3.9
<br>
<br>
<br>
----
----
Line 138: Line 141:
Kasutatud käsk: vmstat -n 5
Kasutatud käsk: vmstat -n 5


[[File:Vmstat-n.png | left | frame | Joonis 4 - raporti loomine kindla intervalliga ]]
[[File:Vmstat_n.PNG | left | frame | Joonis 4 - raporti loomine kindla intervalliga ]]
<br>
<br>
<br>
<br>
Line 148: Line 151:
<br>
<br>
<br>
<br>
 
<br>
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.  
<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]] .  
Parameetrit -n saab kasutada ka koos teiste parameetritega, näiteks vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] .  
<br>
<br>
<br>
----
----
Line 158: Line 163:
Kasutatud käsk: vmstat -a
Kasutatud käsk: vmstat -a


[[File:Vmstat-a.png]]
[[File:Vmstat a.PNG | left | frame |Joonis 5 - mälu raport]]
<br>
<br>
<br>
<br>
Line 164: Line 169:
<br>
<br>
<br>
<br>
'''memory - mälu:'''
<br />
'''free:''' vaba mälu
'''memory - mälu:'''<br />
'''inact:''' mitteaktiivne mälu
swpd: ''swap space''[https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space] ehk saaleala<br />
'''active:''' aktiivne mälu
free: vaba mälu<br />
inact: mitteaktiivne mälu<br />
active: aktiivne mälu<br />
<br>
<br>
----
----
<br>
<br>
*'''vmstat -d''': väljastab ketta statistika.


'''vmstat -d''': väljastab ketta statistika – lugemised, kirjutamised, I/O statistika.
Kasutatud käsk: vmstat -d
 
[[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 - kettalt lugemised:'''
'''Reads - kettalt lugemised:'''


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


'''Writes - kettale kirjutamised:'''
'''Writes - kettale kirjutamised:'''


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


'''IO - Input/Output - Sisend/Väljund:'''  
'''IO - Input/Output - Sisend/Väljund:'''  


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


*'''vmstat -D''': väljastab ketta tabeli.  
*'''vmstat -D''': väljastab informatsiooni ketta kohta tabeli kujul.  
 
Kasutatud käsk: vmstat -D


[[File:Vmstat-Dsuur.png]]
[[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>
----
----
<br>
<br>


*'''vmstat -p'''[ketta partsitsioon]: kasutatakse selleks, et väljastada ketta I/O statistikat ühe ketta partitsiooni kohta.
*'''vmstat -p'''[ketta partsitsioon]


[[File:Vmstat-pdisknumber.png]]
Kasutatud käsud: vmstat -p sbd5, vmstat -p sda1
 
[[File:Vmstat-part.PNG | left | frame | Joonis 8 - partitsiooni statistika]]
 
<br />
<br>
<br />
<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 226: Line 275:
'''Writes - kirjutamised:'''
'''Writes - kirjutamised:'''


Requested writes: selle partitsioonile tehtud kirjutamise taotluste koguarv
Requested writes: selle partitsioonile tehtud kirjutamise taotluste koguarv<br />
<br>
<br>
----
----
<br>
<br>


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


[[File:Vmstat-s.png]]
Kasutatud käsk: vmstat -s


Väljastab tabeli, mis koosneb erinevatest sündmuste loenduritest ja mälu statistikast. See raport ei kordu.  Kasutatakse, et väljastada raportit tabeli kujul.
[[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>
*'''vmstat –m''': väljastab segmendiinfot
<br />
<br />


[[File:Vmstat-m.png]]
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.
 
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 segmendi kohta
<br>
<br>
<br />
----
----
<br>
<br>


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


[[File:Vmstat-Sunit.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>
----
----
<br>
<br>


*'''vmstat –f''': väljastab protsesside koopiate arvu, mida süsteem on teinud alates eelmisest alglaadimisest.
*'''vmstat –f'''


[[File:Vmstat-f.png]]
Kasutatud käsk: vmstat -f
 
[[File:Vmstat-forks.PNG | left | frame | Joonis 11 - protsesside koopiad]]
 
<br />
<br />
<br />
<br />
Väljastab protsesside koopiate ''(fork, vfork, clone)'' arvu, mida süsteem on teinud alates eelmisest alglaadimisest.<br />
<br>
<br>
----
----
Line 278: Line 355:
*'''vmstat [delay[count]]''' : käsk, mis väljastab raporteid vastavalt valitud parameetritele.  
*'''vmstat [delay[count]]''' : käsk, mis väljastab raporteid vastavalt valitud parameetritele.  


[[File:Vmstat delay count.png]]
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.
[[File:Vmstat_param.PNG | left | frame | Joonis 12- parameetrid]]
 
<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.
Count – mitu uuendust soovitakse valitud aja jooksul saada.


= Kokkuvõtteks =
= 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.
'''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 12.11.2015<br />
2. http://linuxcommand.org/man_pages/vmstat8.html 12.11.2015<br />
http://linux.die.net/man/8/vmstat 12.11.2015<br />  
3. http://www.dba-oracle.com/t_tuning_vmstat.htm 13.12.2015<br />
http://linux.about.com/library/cmd/blcmdl8_vmstat.htm 12.11.2015<br />
4. http://linuxcommand.org/man_pages/vmstat8.html 12.11.2015<br />
http://www.vallaste.ee/ 15.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 23: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