CPU-ytelse er et aspekt ved måling av ytelsen til et system. Overvåking av ytelsen til CPU er viktig for å feilsøke prosesser i ethvert system, administrere systemressurser, ta systembeslutninger, og evaluere og undersøke systemer i sanntid.
Det er mange verktøy tilgjengelig for å overvåke og vise CPU-ytelse. Operativsystemer har innebygde systemanrop som disse verktøyene er avhengige av for å hente ut ytelsesavlesningene.
I denne veiledningen vil vi utforske det beste overvåkingsverktøyet for CPU-bruk og deres bruksområder i alle Linux-baserte distroer.
1) Topp
Toppkommandoen viser sanntidsvisning av ytelsesrelaterte data for alle prosesser som kjører i et system. Som standard oppdaterer toppkommandoen data hvert 5. sekund. Skriv «topp» fra terminalen for å vise statistiske data relatert til ytelsen til et system.
# top
For å endre utgangen fra toppkommandoen, trykk på:
«P» for å sortere etter CPU-bruk.
«I» for å fjerne ledige prosesser fra skjermen og for å tilbakestille, trykk «I» igjen.
«M» for å sortere data etter minnebruk.
«S» for å sortere etter hvor lenge prosessene har kjørt.
«P» for å sortere etter CPU-bruk.
«U» for å se prosesser som eies av en bestemt bruker.
«K» for å drepe prosesser.
«R» for å nekte prosesser.
2) Iostat
iostat-kommandolisten CPU-bruk, enhetsbruk og nettverksfilsystembruk. Dette verktøyet viser systemets gjennomsnittlige CPU-bruk siden forrige omstart. Å kjøre følgende kommando uten noen alternativer viser alle de tre rapportene.
# iostat
For å liste opp den enkelte rapporten, bruk -c, -d og -h-bryter for CPU-bruk , enhetsbruk og nettverksfilsystembruk. Følgende kommando vil dele CPU-bruken i brukerprosesser, systemprosesser, I / O ventetid og inaktiv tid.
# iostat -c
Følgende kommando vil vise utvidet statistikk ( -x), antall ganger (-t) hver rapport skal vises for CPU-bruk (-c).
# iostat -xtc 5 2
3) Vmstat
Kommandoen vmstat viser statistikk om systemprosesser, minne, bytte, I / O og CPU-ytelse. For å vise statistikk blir dataene samlet inn fra sist gang kommandoen ble kjørt til i dag. Hvis kommandoen aldri kjøres, vil dataene være fra den siste omstart til gjeldende tid.
På flere CPU-systemer, beregner vmstat gjennomsnittlig antall CPUer i utgangen. Kommandoen vmstat oppdaterer utdataene som toppkommando.
Følgende kommando oppdaterer rapporten hvert 5. sekund til det er et avbrudd.
# vmstat 5
Følgende kommando viser dataene som oppdateres hvert 5. sekund, og verdiene måles på nytt og rapporteres hvert 1. sekund.
# vmstat 1 5
første linje skriver ut gjennomsnittsverdiene siden sist datamaskinen ble startet på nytt. Resten av linjene vil vise gjeldende verdier. En vanlig bruker kan kjøre vmstat-kommandoen.
4) Mpstat
Mpstat er en del av sysstat-pakken i Linux. Kommandoen mpstat skriver til standardutdata om aktiviteter for hver tilgjengelige prosessor, prosessor 0 er den første. Hvis ingen aktivitet er valgt, er standardrapporten CPU-utnyttelsesrapporten.
mpstat uten noe alternativ vil vise globale gjennomsnittlige aktiviteter for alle CPUer
# mpstat
mpstat med -p alternativet og «ALL» vil vise statistikk om alle CPUer en etter en fra 0.
# mpstat -P ALL
Følgende kommando vil oppgi gjennomsnittlig CPU-bruk i 4 ganger, hver etter 2 sekunder.
# mpstat -P ALL 2 4
5) Sar
Sar er et verktøy for ytelsesovervåking for samle, se og registrere ytelsesdata og kan liste opp hva et system gjør hele tiden. Sar-kommandoen kan generere rapporter og sende dem til systemadministratoren. Statistikken rapportert av sar inkluderer I / O-overføringshastigheter, personsøkeaktivitet, prosessrelaterte aktiviteter, avbrudd, nettverksaktivitet, minne- og bytteplassutnyttelse, CPU-utnyttelse, kjerneaktiviteter og TTY-statistikk, blant andre. Kjør sar uten noe alternativ og sjekk utdataene. Standard utgangslistestatistikk for hvert 10. minutt og et endelig gjennomsnitt.
# sar
Vis CPU-statistikk tre ganger med 2 sekunders intervall.
# sar 2 3
Følgende kommando viser kumulativ sanntids CPU-bruk av all CPU hver 2. sekund totalt 3 ganger.
# sar -u 2 3
Alternativet «-P ALL» viser statistikk for ALLE individuelle kjerner. Hvis systemet ditt har 4 kjerner, vil «CPU-kolonnen» inneholde tallet 0, 1, 2, 3 som indikerer de tilsvarende CPU-kjernetallene.Alternativet «2 3» viser statistikken hvert 2. sekund tre ganger.
# sar -P ALL 2 3
Alternativet «-P 2» viser statistikk for tredje kjerne hvert 2. sekund i tre ganger.
# sar -P 2 2 3
6) CoreFreq
CoreFreq er en CPU-ytelsesovervåkningsprogramvare designet for 64-biters prosessorer med arkitekturer Intel Atom, Core2, Nehalem, SandyBridge og overlegen, AMD Family. CoreFreq gir et rammeverk for å hente CPU-data med høy presisjon. Kjernemodulen, demonen og brukerlandets kommandolinjegrensesnitt (CLI) er de tre delene av Corefreq. Kjernemodulen vil ha full tilgang til verten. Det er dets ansvar å samle inn data på lavt nivå. Userland-demonen samler inn dataene. Du bør være rotbruker for å kjøre demonen. Til slutt kommer CoreFreq med et terminalgrensesnitt for å rapportere data i et hyggelig menneskelig lesbart format. Det CLI-verktøyet er en vanlig prosess og kan brukes av sluttbrukeren.
Forutsetning
i) CoreFreq bruker telleren på lavt nivå, og derfor bør du først deaktivere NMI vakthund gjennom / etc / default / grub. Rediger / etc / default / grub og legg til «nmi_watchdog = 0» -kommandolinjeargumentet og kjør deretter oppdateringsgrubben.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Ingen virtualisering. VM-er gir ikke tilgang til registerene som CoreFreq-driveren bruker.
Installer CoreFreq
Installer kjernemodulen med insmod
# sudo insmod corefreqk.ko
Liste CoreFreq-modulen med lsmod
# lsmod | grep corefreq corefreqk 49152 0
Utgangen av dmesg-kommandoen viser CoreFreq har blitt gjenkjent av prosessoren.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Start CoreFreq-demonen
# sudo ./corefreqd -i &
Start nå corefreq-klienten som bruker.
# ./corefreq-cli
7) Htop
Htop er en prosessvisning og en tekstmodusapplikasjon for systemovervåking i sanntid som topp. Den viser en komplett liste over prosessene som kjører og er enkle å bruke. Den er basert på ncurses for visning av prosessene i et GUI-lignende miljø som kjører i terminalen. Htop viser bruk per CPU sammen med minne- og byttebruk med en betydelig tekstgraf utskrevet øverst. Htop er veldig praktisk å bruke og lett å forstå. Når du begynner å bruke HTOP, y Du kommer kanskje ikke tilbake til TOPP.
Installer htop ved å bruke følgende kommando i terminalen
# sudo apt-get install htop
Kjør htop med følgende kommando.
# htop
8) Nmon
nmon (Nigels performance Monitor for Linux & AIX) er utviklet av IBM-ansatt Nigel Griffiths. Dette verktøyet brukes til å overvåke systemressurser som CPU, minne, nettverk, disker, filsystemer, NFS, topp prosesser i terminalen. NMON støtter forskjellige arkitekturer som POWER, x86, x86_64, Mainframe og ARM (Raspberry Pi). Dette verktøyet hjelper systemadministratoren med å stille, benchmark ytelsesinformasjon for å feilsøke CPU / systemytelsen når det er noen problemer. For sanntidsovervåking bruker den forbannelsesbiblioteket for lav CPU-innvirkning og viser statistikk på skjermen og oppdateres hvert annet sekund. nmon bruker mindre CPU-minne sammenlignet med andre verktøy siden det bruker forbannelsesbibliotek.
Installasjon
# sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)
CentOS-brukere trenger å installere / aktivere EPEL Repository for å installere nmon.
Skriv nmon i terminalen og trykk enter, nmon viser en velkomstskjerm med alle muligheter for å bruke den videre. Hvis du vil vise CPU-bruk, trykker du på c og skjuler statistikken for CPU-utnyttelse-widgets, trykker du «c» igjen.
9) Glances
Glances er et plattformbasert forbannelsesbasert overvåkingsverktøy skrevet i Python som bruker psutil-biblioteket til å hente data fra systemet. Se på skjerm CPU, belastning gjennomsnitt, minne, nettverksgrensesnitt, disk I / O, prosesser og filsystemutnyttelse.
Installer blikk i systemet ditt med følgende kommando.
I Ubuntu :
# sudo apt-get install glances
I Centos:
# sudo yum install glances
Du kan kjøre blikk i 3 modus-
1. Frittstående
Hvis du vil overvåke den lokale maskinen din (frittstående), kan du bare kjøre-
# glances
2. Klient / server
Hvis du vil overvåke en maskin eksternt, kan du utføre følgende på serveren.
# glances -s
og deretter fra klienten , utfør følgende kommando.
# glances -c @server
der @server er IP-adressen eller vertsnavnet til serveren.
3. Webserver
Kjør blikket i webservermodus ved å utføre følgende kommando i terminalen.
# glances -w Glances web server started on http://0.0.0.0:61208/
For å endre oppdateringsfrekvensen til side, bare legg til perioden i sekunder på slutten av URL-en. For eksempel, for å oppdatere siden hvert 30. sekund, legg 10 til blikket på server-URL fra nettleseren.
http://@server:61208/30
10) Cpustat
Cpustat er som en fancy slags topp som gjør forskjellige ting. De fleste ytelsesverktøy har gjennomsnittlig CPU-bruk over noen sekunder eller til og med et minutt. Dette resulterer i en fantasi om overkapasitet på grunn av en brå økning i ressursbruk som er blandet med mindre travle perioder. På den annen side tar cpustat prøver med høyere frekvens av hver prosess og oppsummerer disse prøvene med en lavere frekvens. For eksempel kan den måle en prosess i hver 200 ms og oppsummere prøvene hvert 5. sekund, inkludert min / gjennomsnitt / maksverdier for noen beregninger.
Installer Cpustat
Cpustat er skrevet på Go-språk. Derfor trenger du GO i systemet ditt. Hvis den ikke er der, installerer du den med følgende kommandoer i terminalen.
I Ubuntu
# sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go
I CentOS
# yum install golang
Når Golang er installert i systemet, lager du en katalog for Cpustat og gjør denne katalogen tilgjengelig for GOPATH.
# mkdir cpustat # export GOPATH=$HOME/cpustat
Installer Cpustat og kontroller at katalogene er kopiert til mappen cpustat.
# go get github.com/uber-common/cpustat # cd cpustat && ls
Legg til bin-mappe i PATH-miljøvariabelen. Du kan også legge til følgende linje i ~ / .bashrc eller / etc / profil, avhengig av hva du bruker.
# export PATH=$PATH:/root/cpustat/bin
Det er to måter å vise dette på data. Enten en ren tekstliste over sammendragsintervallet eller et fargerikt rullepanel for hvert utvalg. For å vise data i fancy terminalmodus, utfør følgende kommando i terminalen.
# cpustat -t
For å kjøre i ren tekstmodus, bruk følgende kommando. I tekstmodus er det få systemomfattende beregninger som kommer fra / proc / stat.
# cpustat
Følgende kommando tar et utvalg av alle prosesser i hver 500 ms og oppsummere disse dataene etter 10 prøver, som er hvert 5. sekund.
# cpustat -s 500 -s 10 -n 20
Bruk følgende kommando til å måle prosesser som eies av enten brukerrot eller bruker ubuntu. Den samlede systemstatistikken vil fortsatt bli målt.
# cpustat -u root, ubuntu
Bare mål prosesser for «apache» eller «mysql». Alternativet -p for cpustat tar en liste over prosess-ID-er som returneres av pgrep. pgrep brukes til å få prosess-ID-ene (-d-alternativet).
# cpustat -p $(pgrep -d, apache2\|mysqld)
Bruk følgende kommando til å skrive minneprofil i en fil.
# cpustat -memprofile test.txt
11) perf
Perf kan måle CPU-ytelsestellere, sporpunkter, kprober og uprobes som er inkludert i Linux-kjernen, under verktøy / perf. perf begynte som et verktøy for bruk av delsystemet Performance Counter i Linux, og har hatt forskjellige forbedringer for å legge til sporingsfunksjoner. Perf-verktøyene er integrert i Linux-kjernen siden 2.6-versjonen, og er basert på perf events subsystem. Perf-profilen bruker maskinvareteller for å profilere applikasjonen. Resultatet av denne profilen er eksplisitt og raskt. Perf-verktøyet finner du i linux-tools-pakken.
Measure entire system for 10 seconds using perf.
# perf stat -a -- sleep 10
Hvis du er interessert i å finne CPU-ytelse for en bestemt» kommando «som cp. Følgende perf-kommando vil profilere cp mens den kopierer hele katalogen Dokumenter til ny plassering (Docs).
# perf stat cp -r Documents/ Docs
Hvis du vil finne CPU-tellerstatistikk for en spesifisert PID, bruk deretter følgende kommando til CTRL + C trykkes.
# perf stat -p 2087
Finn grunnleggende CPU-statistikk, systemomfattende, i 10 sekunder ved å bruke følgende perfeksjon kommando. Du kan også utelate et av alternativene under -e-alternativet for å være mer spesifikk.
# perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10
Samle inn brukerveiledning på CPU i 5 sekunder og deretter bruk perf-rapport for å se rapporten.
# perf record -e cycles:u -a -- sleep 5 # perf report
Samle eksempler på CPU-stakkspor, hver 10.000 nivå 1-data-cache, i 5 sekunder, og bruk deretter perf-rapport for å se rapporten.
# perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report
12) tiptop
Tiptop leser teller for maskinvareytelse og viser statistikk om kjørende Linux-prosesser, for eksempel IPC , eller hurtigbuffer. Det gir en dynamisk sanntidsvisning av oppgavene som kjører i systemet. Tiptop er veldig lik toppen, men informasjonen som vises kommer fra maskinvaretellere.
Den har to kjøremoduser, live-modus og batch-modus. I begge modiene blir systemet med jevne mellomrom spurt etter verdiene til maskinvaretellerne, og forskjellige forhold skrives ut for hver oppgave.
13) ps kommando
Vi kan bruke ps kommando for å finne CPU-bruk for hver prosess eller brukere. Gitt noen få eksempler å forstå
Å vise den høyeste CPU & Minneutnyttelse ved prosesser kjørt med root.
Kjør følgende kommando for å vise CPU-bruk for den spesifikke kommandoen:
For å vise prosesser for alle brukere og ikke er koblet til en terminal i fullformatoppføring med en sortering
14) dstat-kommando
dstat-kommando er et allsidig verktøy for å generere systemressursstatistikk, og det vil også vise CPU-statistikk. Du må installere den for å kunne bruke den
På Centos
# yum install -y dstat
På Ubuntu
# apt-get install dstat
For å overvåke programmet som bruker mest CPU og forbruker mest mulig minne.
# dstat -c --top-cpu -dn --top-mem
Konklusjon
I denne veiledningen har vi utforsket få verktøy for overvåking av CPU-ytelse sammen med deres bruksområder. Sørg for å lese mansider for hver av dem, da det også dokumenterer bruken i detalj. Husk at bruk av disse verktøyene også krever et CPU-stykke. For eksempel tar topp 3% -4% av CPU mens blikk tar 15% til 20% av CPU. Så mens du bruker en av disse, må du også vurdere dette aspektet. I et nøtteskall vil du kunne finne ut hvilken prosess som tar mer CPU-tid, er det nok ledig minne, om prosesser er stoppet mens du venter på I / O, dvs. disk- eller nettverkstilgang for å fullføre lese / skrive og mye mer ved å bruke en kombinasjon av få av dem.
Les også:
- Slik overvåker du Linux-ytelse ved hjelp av Sar Command
- Installer htop 2.0.2 og bruk kommandolinjen på Linux