Cpustat - jälgib protsessori kasutamist protsessorite käitamise abil Linuxis


Cpustat on võimas süsteemi jõudluse mõõtmise programm Linuxile, mis on kirjutatud Go-programmeerimiskeelt kasutades. See püüab tõhusalt paljastada protsessori kasutamist ja küllastust, kasutades meetodit The Utilization Saturation and Errors (USE) (metoodikat mis tahes süsteemi jõudluse analüüsimiseks).

See eraldab iga süsteemis käivitatava protsessi kõrgema sagedusega valimid ja võtab need valimid siis kokku madalama sagedusega. Näiteks saab see mõõta iga protsessi iga 200 ms järel ja need valimid iga 5 sekundi järel kokku võtta, sealhulgas teatud mõõdikute min/keskmine/max väärtused.

Cpustat väljastab andmeid kahel viisil: kokkuvõtte intervalli puhta tekstiloendina ja iga proovi värviliseks kerimispaneeliks.

Kuidas installida Cpustat Linuxi

Cpustaadi kasutamiseks peab teie Linuxi süsteemis olema installitud Go (GoLang), klõpsake alloleval lingil, et järgida GoLangi installimistoiminguid, st kui te pole seda installinud:

  1. Installige GoLang (Go programmeerimiskeel) Linuxi

Kui olete Go installinud, tippige selle installimiseks käsk go get, see käsk installib binaarse faili cpustat teie GOBIN-i muutujasse:

# go get github.com/uber-common/cpustat

Kuidas kasutada Cpustat Linuxis

Kui installiprotsess on lõpule jõudnud, käivitage cpustat järgmiselt rootõigustega, kasutades käsku sudo, see tähendab, et kui kontrollite süsteemi mittejuurekasutajana, muidu saate tõrke, nagu on näidatud:

$ $GOBIN/cpustat
This program uses the netlink taskstats interface, so it must be run as root.

Märkus. Nii cpustat kui ka kõigi teiste teie süsteemi installitud Go programmide käivitamiseks lisage GOBIN muutuja PATH keskkonnamuutujasse. Avage allolev link, et õppida, kuidas Linuxis muutujat PATH seadistada.

  1. Vaadake, kuidas oma muutujaid $PATH Linuxis püsivalt seada

Nii töötab cpustat; kataloogi /proc kohta küsitakse protsessi intervallide praeguse loendi saamiseks ja:

  • lugege iga PID-i puhul/proc/pid/stat ja arvutage erinevus eelmisest proovist.
  • juhul, kui see on uus PID, lugege/proc/pid/cmdline.
  • iga PID-i jaoks saatke taslinkide toomiseks netlingi sõnum, arvutage erinevus eelmisest proovist.
  • kogu süsteemi statistika saamiseks tõmmake/proc/stat.

Jällegi kohandatakse iga uneaja intervalli kõigi nende statistiliste andmete toomiseks kulunud aja arvessevõtmiseks. Lisaks registreerib iga proov ka aja, mis kulus iga mõõtmise skaleerimiseks proovide vahelise tegeliku aja järgi. See püüab arvestada viivitustega cpustatis endas.

Kui seda käivitatakse ilma argumentideta, kuvab cpustat vaikimisi järgmise valimi: proovivõtmise intervall: 200 ms, kokkuvõtte intervall: 2 s (10 näidist), näidates 10 parimat protsessi, kasutaja filter: kõik, pid filter: kõik, nagu on näidatud alloleval ekraanipildil:

$ sudo $GOBIN/cpustat 

Ülaltoodud väljundist on enne väljad kuvatud kogu süsteemi hõlmavate koondmõõdikute tähendused järgmised:

  • usr - min/avg/max kasutajarežiimi käitamisaeg protsentides protsessorist.
  • sys - süsteemirežiimi min/keskm/max tööaeg protsentides protsessorist.
  • kena - min/avg/max kasutajarežiimi madala prioriteediga tööaeg protsentides protsessorist.
  • tühikäik - min/keskm/max kasutajarežiimi käitamisaeg protsentides protsessorist.
  • iowait - min/avg/max viivitusaeg ketta IO ootamisel.
  • pügamine - jooksvas olekus protsesside min/keskm/max arv (sama mis koormuse keskmine).
  • pblock - kettal IO blokeeritud protsesside min/avg/max arv.
  • pstart - selles kokkuvõtte intervallis alustatud protsesside/lõimude arv.

Eespool toodud väljundist lähtuvalt tähendavad erinevad veerud antud protsessi jaoks:

  • nimi - üldine protsessi nimi/proc/pid/stat või/proc/pid/cmdline.
  • pid - protsessi ID, millele viidatakse ka kui "tgid".
  • min - kasutaja madalaim valim + süsteemi aeg pidamiseks, mõõdetud väärtusest/proc/pid/stat. Skaala on protsent protsessorist.
  • max - kõrgeim kasutaja valim + süsteemi aeg selle pidi jaoks, mõõdetuna ka/proc/pid/stat.
  • usr - keskmine kasutaja pidamise aeg kokkuvõtte perioodil, mõõdetuna väärtusest/proc/pid/stat.
  • sys - pideva süsteemi keskmine aeg kokkuvõtte perioodil, mõõdetuna väärtusest/proc/pid/stat.
  • kena - näitab protsessi praegust kena väärtust, mõõdetuna väärtusest/proc/pid/stat. Kõrgem tähendab "toredamat".
  • runq - protsess ja kõik selle lõimed, mis kulus jooksmiseks, kuid ootasid käivitamist, mõõdetuna taskstatsi kaudu netlingi kaudu. Skaala on protsent protsessorist.
  • iow - protsess ja kõik selle lõimed, mis on kulutatud ketas IO poolt blokeerituna, mõõdetuna taskstatsi kaudu netlingi kaudu. Skaala on protsent protsessorist, keskmistatuna kokkuvõtte intervallil.
  • vahetus - protsess ja kõik selle lõngad, mis kulutati vahetamise ootamiseks, mõõdetuna taskstatsi kaudu netlingi kaudu. Skaala on protsent protsessorist, keskmistatuna kokkuvõtte intervallil.
  • vcx ja icx - vabatahtlike kontekstilülitite koguarv protsessi ja kõigi selle lõimude kaupa kokkuvõtte intervalli jooksul, mõõdetuna taskstatsi kaudu netlingi kaudu.
  • rss - praegune RSS-väärtus tõmmatud kataloogist/proc/pid/stat. See on mälumaht, mida see protsess kasutab.
  • ctime - kasutaja + sys protsessori kulutatud summa, mis kulus selle kokkuvõtte intervalli ajal lahkunud laste ootamisel, mõõdetuna väärtusest/proc/pid/stat.

Pange tähele, et pikaajalised lapseprotsessid võivad selle mõõtmise sageli segi ajada, sest kellaajast teatatakse ainult siis, kui lapseprotsess väljub. See on siiski kasulik sagedaste töökohtade ja tervisekontrollide mõju mõõtmiseks, kus paljud lapse protsessid kulutavad protsessori aega sageli.

  • thrd - niitide arv kokkuvõtteintervalli lõpus, mõõdetuna väärtusest/proc/pid/stat.
  • sam - kokkuvõtte intervalli lisatud selle protsessi proovide arv. Hiljuti alustatud või väljunud protsessid võisid olla nähtavad vähemate proovide puhul kui kokkuvõtteintervall.

Järgmine käsk kuvab süsteemis töötavate 10 peamist juurkasutaja protsessi:

$ sudo $GOBIN/cpustat -u root

Väljundi väljamõeldud terminalirežiimis kuvamiseks kasutage lippu -t järgmiselt:

$ sudo $GOBIN/cpustat -u roo -t

20 parema süsteemis töötava Linuxi protsessi vaatamiseks toimige järgmiselt.

$ sudo $GOBIN/cpustat -n 20 

Samuti saate protsessori profiili faili kirjutada, kasutades valikut -cpuprofile järgmiselt ja seejärel kasutage faili vaatamiseks käsku cat:

$ sudo $GOBIN/cpustat -cpuprofile cpuprof.txt
$ cat cpuprof.txt

Abiteabe kuvamiseks kasutage lippu -h järgmiselt:

$ sudo $GOBIN/cpustat -h

Lisateavet leiate cpustat Githubi hoidlast: https://github.com/uber-common/cpustat

See on kõik! Selles artiklis näitasime teile, kuidas installida ja kasutada Linuxi jaoks kasulikku süsteemi jõudluse mõõtmise tööriista cpustat. Jagage oma mõtteid meiega allpool oleva kommentaaride jaotise kaudu.