Performanța procesorului este un aspect al măsurării performanța unui sistem. Monitorizarea performanței procesorului este esențială pentru depanarea proceselor din orice sistem, gestionarea resurselor sistemului, luarea deciziilor de sistem și evaluarea și examinarea sistemelor în timp real.
Există o mulțime de instrumente disponibile pentru monitorizare și afișare Performanța procesorului. Sistemele de operare au apeluri de sistem încorporate pe care se bazează aceste instrumente pentru a extrage citirile de performanță.
În acest tutorial, vom explora cel mai bun instrument de monitorizare a utilizării procesorului și utilizările acestora în orice distribuție bazată pe Linux.
1) Sus
Comanda de sus afișează vizualizarea în timp real a datelor legate de performanță ale tuturor proceselor care rulează într-un sistem. În mod implicit, comanda de sus actualizează datele la fiecare 5 secunde. Tastați „top” de la terminal pentru a vizualiza datele statistice legate de performanța unui sistem.
# top
Pentru a modifica ieșirea comenzii de sus, apăsați:
„P” pentru a sorta după utilizarea procesorului.
„I” pentru a elimina procesele de repaus de pe afișaj și pentru a reveni înapoi, apăsați din nou pe „I”.
„M” pentru a sorta datele în funcție de utilizarea memoriei.
„S” pentru a sorta după cât timp rulează procesele.
„P” pentru a sorta după utilizarea procesorului.
„U” pentru a vizualiza procesele deținute de un anumit utilizator.
„K” pentru a ucide procesele.
„R” pentru a renisa procesele.
2) Iostat
Lista de comenzi iostat utilizează CPU, utilizarea dispozitivului și utilizarea sistemului de fișiere de rețea. Acest utilitar afișează utilizarea medie a procesorului de la ultima repornire. Rularea următoarei comenzi fără nicio opțiune afișează toate cele trei rapoarte.
# iostat
Pentru a afișa raportul individual utilizați comutatorul -c, -d și -h pentru utilizarea procesorului , utilizarea dispozitivului și utilizarea sistemului de fișiere de rețea. Următoarea comandă va împărți utilizarea procesorului în procesele utilizatorului, procesele de sistem, așteptarea I / O și timpul de repaus.
# iostat -c
Următoarea comandă va afișa statistici extinse ( -x), de câte ori (-t) fiecare raport trebuie afișat pentru utilizarea procesorului (-c).
# iostat -xtc 5 2
3) Vmstat
Comanda vmstat va afișa statistici despre procesele de sistem, memorie, swap, I / O și performanța procesorului. Pentru afișarea statisticilor, datele sunt colectate de la ultima executare a comenzii până în prezent. În cazul în care comanda nu se execută niciodată, datele vor fi de la ultima repornire până la ora curentă.
Pe mai multe sisteme CPU, vmstat face media numărului de CPU-uri în ieșire. Comanda vmstat își actualizează ieșirea ca și comanda de sus.
Următoarea comandă își va actualiza raportul la fiecare 5 secunde până când apare o întrerupere.
# vmstat 5
Următoarea comandă va afișa datele care se vor actualiza la fiecare 5 secunde, iar valorile vor fi re-măsurate și raportate la fiecare 1 secundă.
# vmstat 1 5
prima linie tipărește valorile medii de la ultima repornire a computerului. Restul liniilor își vor afișa valorile curente respective. Un utilizator normal poate rula comanda vmstat.
4) Mpstat
Mpstat face parte din pachetul sysstat din Linux. Comanda mpstat scrie la ieșirea standard despre activități pentru fiecare procesor disponibil, procesorul 0 fiind primul. Dacă nu a fost selectată nicio activitate, atunci raportul implicit este raportul de utilizare a procesorului.
mpstat fără nicio opțiune va afișa Activitățile medii globale ale tuturor procesorelor
# mpstat
mpstat cu opțiunea -p și „ALL” va afișa statistici despre toate procesoarele unul câte unul începând de la 0.
# mpstat -P ALL
Următoarea comandă va listați utilizarea medie a procesorului de 4 ori, fiecare după 2 secunde.
# mpstat -P ALL 2 4
5) Sar
Sar este un instrument de monitorizare a performanței pentru colectarea, vizualizarea și înregistrarea datelor de performanță și poate enumera ceea ce face un sistem tot timpul. Comanda Sar poate genera rapoarte și le poate trimite prin e-mail administratorului de sistem. Statisticile raportate de sar includ ratele de transfer I / O, activitatea de paginare, activitățile legate de proces, întreruperile, activitatea rețelei, utilizarea spațiului de memorie și swap, utilizarea procesorului, activitățile kernelului și statisticile TTY, printre altele. Rulați sar fără nicio opțiune și verificați ieșirea. Statisticile implicite ale listei de ieșiri pentru fiecare 10 minute și o medie finală.
# sar
Afișați statisticile procesorului de 3 ori cu un interval de 2 secunde.
# sar 2 3
Următoarea comandă afișează utilizarea cumulativă a procesorului în timp real a tuturor procesorului pentru fiecare 2 secunde în total de 3 ori.
# sar -u 2 3
Opțiunea „-P ALL” afișează statistici pentru TOATE nucleele individuale. Dacă sistemul dvs. are 4 nuclee, atunci „coloana CPU” va conține numărul 0, 1, 2, 3 indicând numerele corespondente ale nucleului CPU.Opțiunea „2 3” afișează statisticile la fiecare 2 secunde de 3 ori.
# sar -P ALL 2 3
Opțiunea „-P 2” afișează statistici pentru al treilea nucleu la fiecare 2 secunde de 3 ori.
# sar -P 2 2 3
6) CoreFreq
CoreFreq este un software de monitorizare a performanței CPU conceput pentru procesoare pe 64 de biți cu arhitecturi Intel Atom, Core2, Nehalem, SandyBridge și superior, AMD Family. CoreFreq oferă un cadru pentru recuperarea datelor CPU cu un grad ridicat de precizie. Modulul kernel, demonul și interfața liniei de comandă userland (CLI) sunt cele trei părți ale Corefreq. Modulul kernel va avea acces complet la gazdă. Este responsabilitatea sa să adune date de nivel scăzut. Demonul userland colectează datele. Ar trebui să fiți utilizator root pentru a rula daemonul. În cele din urmă, CoreFreq vine cu o interfață terminală pentru raportarea datelor într-un format frumos lizibil de către om. Instrumentul CLI este un proces obișnuit și poate fi utilizat de către utilizatorul final.
Cerință preliminară
i) CoreFreq folosește contorul de nivel scăzut și, prin urmare, ar trebui mai întâi să dezactivați NMI watchdog prin / etc / implicit / grub. Editați / etc / default / grub și adăugați argumentul liniei de comandă a nucleului „nmi_watchdog = 0” și apoi rulați update-grub.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Fără virtualizare. VM-urile nu oferă acces la registrele pe care le folosește driverul CoreFreq.
Instalați CoreFreq
Instalați modulul kernel cu insmod
# sudo insmod corefreqk.ko
Listează modulul CoreFreq cu lsmod
# lsmod | grep corefreq corefreqk 49152 0
Ieșirea comenzii dmesg arată că CoreFreq a fost recunoscut de procesor.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Porniți demonul CoreFreq
# sudo ./corefreqd -i &
Acum porniți clientul corefreq ca utilizator.
# ./corefreq-cli
7) Htop
Htop este un vizualizator de procese și o aplicație în modul text pentru monitorizarea sistemului în timp real, cum ar fi partea de sus. lista proceselor care rulează și este ușor de utilizat. Se bazează pe ncurses pentru vizualizarea proceselor într-un mediu de tip GUI care rulează în terminal. Htop afișează utilizarea per CPU împreună cu memoria și utilizarea swapului cu un grafic text semnificativ tipărit în partea de sus. Htop este foarte convenabil de utilizat și ușor de înțeles. Odată ce ați început să utilizați HTOP, y s-ar putea să nu reveniți la TOP.
Instalați htop folosind următoarea comandă în terminal
# sudo apt-get install htop
Rulați htop folosind următoarea comandă.
# htop
8) Nmon
nmon (Nigel’s Performance Monitor for Linux & AIX) a fost dezvoltat de către angajatul IBM Nigel Griffiths. Acest instrument este utilizat pentru a monitoriza resursele sistemului, cum ar fi CPU, memorie, rețea, discuri, sisteme de fișiere, NFS, procese de top din terminal. NMON acceptă diverse arhitecturi precum POWER, x86, x86_64, Mainframe și ARM (Raspberry Pi). Acest instrument îl ajută pe administratorul de sistem să regleze, să facă referință la informațiile de performanță pentru a depana performanțele CPU / sistem atunci când există unele probleme. Pentru monitorizarea în timp real, folosește biblioteca de cursuri pentru un impact redus al procesorului și afișează statistici pe ecran și se actualizează la fiecare două secunde. nmon consumă mai puțină memorie CPU în comparație cu alte instrumente, deoarece folosește biblioteca blestemelor. Depozitul EPEL pentru a instala nmon.
Tastați nmon în terminal și apăsați Enter, nmon va afișa un ecran de întâmpinare cu toate opțiunile pentru al utiliza în continuare. Dacă doriți să afișați utilizarea procesorului, apăsați c și pentru a ascunde statisticile widgeturilor de utilizare a procesorului, apăsați din nou pe „c”.
9) Glances
Glances este un instrument de monitorizare bazat pe blestemuri pe mai multe platforme scris în Python care folosește biblioteca psutil pentru a prelua date din sistem. Monitorizare procesor CPU, încărcare medie, memorie, interfețe de rețea, I / O pe disc, procese și utilizarea spațiului sistemului de fișiere.
Instalați priviri în sistemul dvs. cu următoarea comandă.
În Ubuntu :
# sudo apt-get install glances
În Centos:
# sudo yum install glances
Puteți rula Glances în 3 moduri-
1. Standalone
Dacă doriți să vă monitorizați mașina locală (Standalone), pur și simplu executați-
# glances
2. Client / Server
Dacă doriți să monitorizați de la distanță o mașină, executați următoarele pe server.
# glances -s
și apoi de la client , executați următoarea comandă.
# glances -c @server
unde @server este adresa IP sau numele gazdei serverului.
3. Webserver
Rulați privirile în modul server web executând următoarea comandă în terminal.
# glances -w Glances web server started on http://0.0.0.0:61208/
Pentru a modifica rata de reîmprospătare a pagina, trebuie doar să adăugați perioada în secunde la sfârșitul adresei URL. De exemplu, pentru a reîmprospăta pagina la fiecare 30 de secunde, adăugați 10 la adresa URL a serverului de priviri din browser.
http://@server:61208/30
10) Cpustat
Cpustat este ca un fel de vârf fantezist care face lucruri diferite. Majoritatea instrumentelor de performanță utilizează în medie CPU în câteva secunde sau chiar un minut. Acest lucru are ca rezultat o fantezie a capacității excesive din cauza unei creșteri bruște a utilizării resurselor, care se amestecă cu perioadele mai puțin ocupate. Pe de altă parte, cpustat preia probe de frecvență mai mare din fiecare proces și rezumă aceste probe la o frecvență mai mică. De exemplu, poate măsura un proces la fiecare 200 ms și rezuma eșantioanele la fiecare 5 secunde, inclusiv valorile min / medie / maximă pentru unele valori.
Instalare Cpustat
Cpustat este scris în limba Go. Prin urmare, aveți nevoie de GO în sistemul dvs. Dacă nu este acolo, instalați-l folosind următoarele comenzi în terminal.
În Ubuntu
# sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go
În CentOS
# yum install golang
Odată ce Golang este instalat în sistemul dvs., creați un director pentru Cpustat și puneți acest director la dispoziția GOPATH.
# mkdir cpustat # export GOPATH=$HOME/cpustat
Instalați Cpustat și verificați dacă directoarele sunt copiate în folderul cpustat.
# go get github.com/uber-common/cpustat # cd cpustat && ls
Adăugați folderul bin la variabila de mediu PATH. De asemenea, puteți adăuga următoarea linie la ~ / .bashrc sau / etc / profile, în funcție de ceea ce utilizați.
# export PATH=$PATH:/root/cpustat/bin
Există două moduri de afișare a acestui lucru date. Fie o listă de text pur a intervalului rezumat, fie un tablou de bord colorat pentru fiecare eșantion. Pentru a afișa date în modul terminal elegant, executați următoarea comandă în terminal.
# cpustat -t
Pentru a rula în modul text pur, utilizați următoarea comandă. În modul text, puține valori sumare la nivel de sistem provin din / proc / stat.
# cpustat
Următoarea comandă va prelua un eșantion de toate procesele la fiecare 500 ms și rezumați aceste date după 10 eșantioane, adică la fiecare 5 secunde.
# cpustat -s 500 -s 10 -n 20
Utilizați următoarea comandă pentru a măsura procesele care sunt deținute fie de utilizator root, fie de utilizator ubuntu. Statisticile generale ale sistemului vor fi în continuare măsurate.
# cpustat -u root, ubuntu
Măsurați doar procesele „apache” sau „mysql”. Opțiunea -p a cpustat ia o listă de ID-uri de proces returnate de pgrep. pgrep este utilizat pentru a obține ID-urile procesului (opțiunea -d).
# cpustat -p $(pgrep -d, apache2\|mysqld)
Utilizați următoarea comandă pentru a scrie profilul de memorie într-un fișier.
# cpustat -memprofile test.txt
11) perf
Perf poate măsura contoare de performanță CPU, tracepoints, kprobes și uprobes care sunt incluse în kernel-ul Linux, sub tools / perf. perf a început ca un instrument pentru utilizarea subsistemului contorilor de performanță în Linux și a avut diverse îmbunătățiri pentru a adăuga capabilități de urmărire. Instrumentele perf sunt integrate în kernel-ul Linux începând cu versiunea 2.6 și se bazează pe subsistemul de evenimente perf. Profilatorul perf utilizează contoare hardware pentru a profila aplicația. Rezultatul acestui profiler este explicit și rapid. Utilitarul perf poate fi găsit în pachetul linux-tools.
Measure entire system for 10 seconds using perf.
# perf stat -a -- sleep 10
Dacă sunteți interesat să găsiți performanța CPU pentru o anumită„ comandă ”, cum ar fi cp. Următoarea comandă perf va profila cp în timp ce copiază întregul director Documente într-o locație nouă (Documente).
# perf stat cp -r Documents/ Docs
Dacă doriți să găsiți statistici de contor CPU pentru un PID specificat apoi utilizați următoarea comandă până când se apasă CTRL + C.
# perf stat -p 2087
Găsiți statisticile de bază ale procesorului, la nivel de sistem, timp de 10 secunde, folosind următorul perf comanda. De asemenea, puteți omite oricare dintre opțiunile aflate sub opțiunea -e pentru a fi mai specifice.
# perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10
Colecționați mostre de instrucțiuni de utilizare pe CPU, timp de 5 secunde și apoi utilizați raportul perf pentru a vizualiza raportul.
# perf record -e cycles:u -a -- sleep 5 # perf report
Colecționați urme eșantion de stive CPU, o dată la fiecare 10.000 de cache de date de nivel 1 lipsesc, timp de 5 secunde și apoi utilizați raportul perf pentru a vizualiza raportul.
# perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report
12) tiptop
Tiptop citește contoare de performanță hardware și afișează statistici despre procesele Linux care rulează, cum ar fi IPC sau ratează memoria cache. Oferă o vizualizare dinamică în timp real a sarcinilor care rulează în sistem. Tiptop este foarte similar cu partea de sus, dar informațiile afișate provin de la contoare hardware.
Are două moduri de rulare, modul live și modul batch. În ambele moduri, sistemul este interogat periodic pentru valorile contoarelor hardware și sunt tipărite diferite rapoarte pentru fiecare sarcină.
13) comanda ps
Putem folosi comanda ps pentru a găsi utilizarea procesorului pentru fiecare proces sau utilizatori. Având câteva exemple de înțeles
Pentru a afișa cel mai mare procesor & Utilizarea memoriei de către procesele rulate de root.
Rulați următoarea comandă pentru a afișa utilizarea procesorului pentru comanda specifică:
Pentru a afișa procesele pentru toți utilizatorii și care nu sunt atașați la un terminal în listă în format complet cu un sortare
14) comanda dstat
comanda dstat este un instrument versatil pentru generarea statisticilor de resurse ale sistemului și ar afișa, de asemenea, statistici CPU. Trebuie să-l instalați pentru a-l utiliza
On Centos
# yum install -y dstat
On Ubuntu
# apt-get install dstat
Pentru a monitoriza programul care folosește cel mai mult CPU și consumă cea mai mare cantitate de memorie.
# dstat -c --top-cpu -dn --top-mem
Concluzie
În acest tutorial, am explorat câteva instrumente de monitorizare a performanței procesorului împreună cu utilizările lor. Asigurați-vă că citiți paginile de manual pentru fiecare dintre ele, deoarece documentează și detaliile utilizărilor. Amintiți-vă că utilizarea acestor instrumente necesită și o porțiune de procesor. De exemplu, partea de sus ocupă 3% -4% din CPU, în timp ce privirile ocupă între 15% și 20% din CPU. Deci, în timp ce utilizați oricare dintre acestea, trebuie să luați în considerare și acest aspect. Pe scurt, veți putea găsi care proces necesită mai mult timp CPU, există suficientă memorie liberă, indiferent dacă procesele sunt blocate în așteptarea I / O și anume. acces la disc sau la rețea pentru a completa citirea / scrierea și multe altele utilizând o combinație a câtorva dintre ele.
Citiți și:
- Cum să monitorizați performanța Linux utilizând comanda Sar
- Instalați htop 2.0.2 și utilizați linia de comandă pe Linux