See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 9822|Vastuse: 1

Linuxi vmstat käsu detailne selgitus praktikas

[Kopeeri link]
Postitatud 19.10.2014 19:36:48 | | |

vmstat käsk on kõige levinum Linux/Unix jälgimistööriist, mis kuvab serveri olekuväärtusi kindlal ajavahemikul, sealhulgas serveriProtsessori kasutus, mälukasutus, virtuaalmälu vahetus, IO lugemine ja kirjutamine. See käsk on minu lemmikkäsk Linuxi/Unixi kontrollimiseks, üks on see, et Linux/Unix on toetatud, ja teine on see, et võrreldes ülemisega näen kogu masina protsessori, mälu ja IO kasutust, mitte ainult iga protsessi CPU ja mälukasutust (erinevad kasutusstsenaariumid).

Üldiselt kasutatakse vmstat tööriista kahe numbrilise parameetri abil: esimene parameeter on proovitud ajavahemike arv, ühik on sekundid ja teine parameeter on proovide arv, näiteks:


root@ubuntu:~# vmstat 2 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----CPU----
r b swpd tasuta buffi cache si so bi bo in cs us sy id wa
1  0      0 3498472 315836 3819540    0    0     0     1    2    0  0  0 100  0

2 tähendab, et serveri olek kogutakse iga kahe sekundi järel ja 1 tähendab, et serveri olek kogutakse ainult üks kord.

Tegelikult jälgime taotlusprotsessi käigus teatud aja jooksul ja kui me ei taha seda jälgida, saame vmstati otse lõpetada, näiteks:


root@ubuntu:~# vmstat 2  
procs -----------memory---------- ---swap-- -----io---- -system-- ----CPU----
r b swpd tasuta buffi cache si so bi bo in cs us sy id wa
1  0      0 3499840 315836 3819660    0    0     0     1    2    0  0  0 100  0
0  0      0 3499584 315836 3819660    0    0     0     0   88  158  0  0 100  0
0  0      0 3499708 315836 3819660    0    0     0     2   86  162  0  0 100  0
0  0      0 3499708 315836 3819660    0    0     0    10   81  151  0  0 100  0
1  0      0 3499732 315836 3819660    0    0     0     2   83  154  0  0 100  0

See tähendab, et vmstat kogub andmeid iga 2 sekundi järel ja jätkab kuni programmi lõpetamiseni, ning lõpetan programmi pärast andmete kogumist 5 korda.

Olgu, käsk on sisse toodud, nüüd hakkame selgitama iga parameetri tähendust.

rSee tähendab järjekorra käivitamist (ehk kui palju protsesse tegelikult CPU-le eraldatakse), server, mida testisin, on hetkel suhteliselt tühi, ühtegi programmi ei tööta, kui see väärtus ületab CPU-de arvu, tekib CPU kitsaskoht. See on seotud ka ülemise taseme koormusega – üldiselt on koormus suurem, kui see ületab 3, kõrgem, kui ületab 5, ja kui ületab 10, pole see normaalne ning serveri seisund on väga ohtlik. Ülemise osa koormus on sarnane jooksva järjekorra sekundiga. Kui jooksev järjekord on liiga suur, tähendab see, et protsessor on hõivatud, mis tavaliselt põhjustab suurt CPU kasutust.

bSee tähendab, et blokeeritud protsess, see pole palju öelda, protsess on blokeeritud, kõik saavad aru.

SWPDKui kasutatava virtuaalmälu suurus on suurem kui 0, tähendab see, et sinu arvutil pole piisavalt füüsilist mälu, ja kui see ei ole programmi mälulekke põhjus, on aeg mälu uuendada või mälu tarbivad ülesanded teisele masinale üle viia.

vaba   Vaba füüsilise mälu suurus, minu masina mälu kokku on 8G ja ülejäänud 3415M.

Buff   Linux/Unix süsteemi kasutatakse kataloogi sisu, õiguste jms salvestamiseks, mul on sellel masinal ilmselt üle 300 miljoni ruumi

Vahemälucache'i kasutatakse otse failide mäletamiseks, mida me avame, failide puhverdamiseks, ma võtan oma arvutis üle 300M (siin on nutikas Linux/Unix lahendus – võtan osa vabast füüsilisest mälust failide ja kataloogide vahemällu salvestamiseks, et parandada programmi täitmise jõudlust; kui programm kasutab mälu, kasutatakse puhvrit/vahemällu kiiresti). )

si  Kui see väärtus on suurem kui 0, tähendab see, et füüsiline mälu ei ole piisav või mälu lekib. Minu masinal on piisavalt mälu ja kõik on korras.

nii et  Ketta suurus, mis on kirjutatud virtuaalmällu sekundis, kui see väärtus on suurem kui 0, on sama mis eespool.

bi  PlokiseadmedBlokkide arv sekundis, siin viitab plokiseade kõigile kettatele ja teistele plokiseadmetele süsteemis, vaikimisi ploki suurus on 1024 baiti, mul pole masinal IO operatsiooni, seega on see alati olnud 0, kuid olen näinud, et masinatel, mis töötlevad suuri andmemahtusi (2-3T), võib see ulatuda 140000/s ja ketta kirjutamiskiirus on peaaegu 140M sekundis

boPlokkide arv, mida plokiseade sekundis saadab, näiteks faili lugemisel on bo suurem kui 0. BI ja BO on üldiselt 0 lähedal, muidu on IO liiga sage ja vajab kohandamist.

seesCPU katkestuste arv sekundis, kaasa arvatud ajakatkestused

CSKonteksti lülitite arv sekundis, näiteks kui kutsume süsteemifunktsiooni, peame vahetama kontekste ja lõimevahetustProtsessi kontekstNäiteks veebiserverites nagu Apache ja nginx teeme tavaliselt jõudlusteste tuhandete või isegi kümnete tuhandete samaaegsusega ning veebiserveri valimise protsessi saab protsessi või lõime tipu võrra vähendada stressitesti, kuni cs suhteliselt väikese väärtuseni, protsesside ja lõimede arv on sobivam väärtus. Süsteemikutsed on samuti samad, iga kord, kui süsteemifunktsioon kutsutakse, siseneb meie kood kerneli ruumi, mis põhjustab konteksti vahetust, mis on väga ressursimahukas, ning peaksime vältima sagedasi süsteemifunktsioonide kutseid. Liiga palju konteksti vahetusi tähendab, et enamik protsessorist läheb konteksti vahetamisele, mis vähendab protsessoril aega tõsiste asjade tegemiseks ning protsessorit ei kasutata täielikult, mis pole soovitatav.

meiekasutajaCPU aegKord nägin, et USA-s oli peaaegu 100 ja R jooksujärjekord jõudis 80-ni serveris, mis tegi krüpteerimist ja dekrüpteerimist väga tihti (masin oli stressitestitud ja jõudlus polnud hea).

syKui süsteemi protsessori aeg on liiga pikk, tähendab see, et süsteemikõned on pikad, näiteks sagedased IO operatsioonid.

Id  Vaba CPU aeg, üldiselt, id + us + sy = 100, üldiselt arvan, et id on tühikäigu CPU kasutus, us on kasutaja CPU kasutus, sy on süsteemi CPU kasutus.

WTOota IO protsessori aega.







Eelmine:Nunnu
Järgmine:Mereäär on mõnus
Postitatud 19.10.2014 19:40:57 |
Ma ei saa aru
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com