CPU-prestanda är en aspekt av att mäta prestanda för ett system. Övervaka CPU: s prestanda är viktigt för att felsöka processer i alla system, hantera systemresurser, fatta systembeslut och utvärdera och undersöka system i realtid.
Det finns många verktyg tillgängliga för att övervaka och visa CPU-prestanda. Operativsystem har inbyggda systemanrop som dessa verktyg förlitar sig på för att extrahera prestandavläsningarna.
I denna handledning kommer vi att utforska det bästa övervakningsverktyget för CPU-användning och deras användningsområden i alla Linux-baserade distros.
1) Topp
Det översta kommandot visar realtidsvy över prestandarelaterade data för alla körprocesser i ett system. Som standard uppdaterar det översta kommandot data var femte sekund. Skriv ”topp” från terminalen för att visa statistiska data relaterade till ett systems prestanda.
# top
För att ändra utgången från toppkommandot, tryck på:
”P” för att sortera efter CPU-användning.
”I” för att ta bort lediga processer från skärmen och för att återgå trycker du på ”I” igen.
”M” för att sortera data efter minnesanvändning.
”S” för att sortera efter hur länge processerna har körts.
”P” för att sortera efter CPU-användning.
”U” för att visa processer som ägs av en viss användare.
”K” för att döda processer.
”R” för att avstå processer.
2) Iostat
iostat-kommandolistan CPU-användning, enhetsanvändning och nätverksfilsystemanvändning. Verktygets skärmsystems genomsnittliga CPU-användning sedan den senaste omstarten. Att köra följande kommando utan några alternativ visar alla de tre rapporterna.
# iostat
För att lista den enskilda rapporten, använd -c, -d och -h switch för CPU-användning , enhetsanvändning och nätverksfilsystemanvändning. Följande kommando delar upp CPU-användningen i användarprocesser, systemprocesser, I / O-väntetid och inaktiv tid.
# iostat -c
Följande kommando visar utökad statistik ( -x), antalet gånger (-t) varje rapport ska visas för CPU-användning (-c).
# iostat -xtc 5 2
3) Vmstat
Kommandot vmstat visar statistik om systemprocesser, minne, swap, I / O och CPU-prestanda. För visning av statistik samlas in data från senaste gången som kommandot kördes till nu. Om kommandot aldrig körs kommer data från den senaste omstarten till aktuell tid.
På flera CPU-system beräknar vmstat i genomsnitt antalet processorer i utdata. Kommandot vmstat uppdaterar utdata som toppkommando.
Följande kommando uppdaterar sin rapport var femte sekund tills det uppstår ett avbrott.
# vmstat 5
Följande kommando visar de data som kommer att uppdateras var 5: e sekund och värdena kommer att mätas om och rapporteras var 1: a sekund.
# vmstat 1 5
första raden skriver ut medelvärdena sedan senaste gången datorn startades om. Resten av raderna visar sina respektive aktuella värden. En vanlig användare kan köra vmstat-kommandot.
4) Mpstat
Mpstat är en del av sysstat-paketet i Linux. Kommandot mpstat skriver till standardutdata om aktiviteter för varje tillgänglig processor, processor 0 är den första. Om ingen aktivitet har valts är standardrapporten CPU-användningsrapporten.
mpstat utan något alternativ visar globala genomsnittliga aktiviteter för alla processorer
# mpstat
mpstat med -p-alternativet och ”ALL” listar statistik om alla processorer en efter en från och med 0.
# mpstat -P ALL
Följande kommando kommer lista upp genomsnittlig CPU-användning i fyra gånger, var och en efter 2 sekunder.
# mpstat -P ALL 2 4
5) Sar
Sar är ett prestandamätverktyg för samla in, visa och spela in prestandadata och kan lista vad ett system gör hela tiden. Sar-kommandot kan generera rapporter och mejla dem till systemadministratören. Statistiken som rapporteras av sar inkluderar I / O-överföringshastigheter, personsökningsaktivitet, processrelaterade aktiviteter, avbrott, nätverksaktivitet, minne och swap-utrymme, CPU-användning, kärnaktiviteter och TTY-statistik, bland andra. Kör sar utan något alternativ och kontrollera utdata. Standardutmatningsliststatistiken för var 10: e minut och ett slutligt medelvärde.
# sar
Visa CPU-statistik 3 gånger med 2 sekunders intervall.
# sar 2 3
Följande kommando visar kumulativ CPU-användning i realtid av all CPU för varannan sekund totalt tre gånger.
# sar -u 2 3
Alternativet ”-P ALL” visar statistik för ALLA enskilda kärnor. Om ditt system har fyra kärnor kommer ”CPU-kolumnen” att innehålla siffrorna 0, 1, 2, 3 som anger motsvarande CPU-kärnnummer.Alternativet ”2 3” visar statistiken varannan sekund tre gånger.
# sar -P ALL 2 3
Alternativet ”-P 2” visar statistik för tredje kärnan varannan sekund tre gånger.
# sar -P 2 2 3
6) CoreFreq
CoreFreq är en övervakningsprogramvara för CPU-prestanda utformad för 64-bitars processorer med arkitekturer Intel Atom, Core2, Nehalem, SandyBridge och överlägsen, AMD Family. CoreFreq ger ett ramverk för att hämta CPU-data med hög grad av precision. Kärnmodulen, daemon och användargränssnittskommandoradsgränssnittet (CLI) är de tre delarna av Corefreq. Kärnmodulen har full åtkomst till värden. Det är dess ansvar att samla in data på låg nivå. Userland-demonen samlar in data. Du bör vara root-användare för att köra daemon. Slutligen kommer CoreFreq med ett terminalgränssnitt för att rapportera data i ett trevligt läsbart format. Det CLI-verktyget är en vanlig process och kan användas av slutanvändaren.
Förutsättning
i) CoreFreq använder räknaren på låg nivå och därför bör du först inaktivera NMI vakthund genom / etc / default / grub. Redigera / etc / default / grub och lägg till ”nmi_watchdog = 0” -kärnans kommandoradsargument och kör sedan uppdateringsgrubben.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Ingen virtualisering. Virtuella datorer ger inte åtkomst till de register som CoreFreq-drivrutinen använder.
Installera CoreFreq
Installera kärnmodulen med insmod
# sudo insmod corefreqk.ko
Lista CoreFreq-modulen med lsmod
# lsmod | grep corefreq corefreqk 49152 0
Utdata från dmesg-kommandot visar att CoreFreq har känts igen av processorn.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Starta CoreFreq-demonen
# sudo ./corefreqd
read more