14 kommandoradsverktyg för att kontrollera CPU-användning i Linux

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 -i &

Starta nu corefreq-klienten som användare.

 # ./corefreq-cli

7) Htop

Htop är en processvisare och ett textläge-program för systemövervakning i realtid som topp. Den visar en komplett lista över de processer som körs och är enkla att använda. Den är baserad på ncurses för att visa processerna i en GUI-liknande miljö som körs i terminalen. Htop visar användning per CPU tillsammans med minne och swap-användning med en betydande textgraf tryckt högst upp. Htop är väldigt bekväm att använda och lätt att förstå. När du börjar använda HTOP, y Du kanske inte återvänder till TOPP.

Installera htop med följande kommando i terminalen

 # sudo apt-get install htop

Kör htop med följande kommando.

 # htop

8) Nmon

nmon (Nigels Performance Monitor för Linux & AIX) har utvecklats av IBM-anställd Nigel Griffiths. Detta verktyg används för att övervaka systemresurser som CPU, minne, nätverk, diskar, filsystem, NFS, toppprocesser i terminalen. NMON stöder olika arkitekturer som POWER, x86, x86_64, Mainframe och ARM (Raspberry Pi). Det här verktyget hjälper systemadministratören att ställa in, jämföra prestandainformation för att felsöka CPU / systemprestanda när det finns några problem. För realtidsövervakning använder den förbannelsebiblioteket för låg CPU-påverkan och visar statistik på skärmen och uppdateras varannan sekund. nmon förbrukar mindre CPU-minne jämfört med andra verktyg eftersom det använder förbannelsebiblioteket.

Installation

 # sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)

CentOS-användare behöver installera / aktivera EPEL Repository för att installera nmon.

Skriv nmon i terminalen och tryck på enter, nmon visar en välkomstskärm med alla alternativ för att använda den vidare. Om du vill visa CPU-användning, tryck på c och för att dölja statistiken över CPU-användning-widgetar, tryck på ”c” igen.

9) Blickar

Blickar är ett plattformsbaserat förbannelsebaserat övervakningsverktyg skrivet i Python som använder psutil-biblioteket för att hämta data från systemet. Blick övervaka CPU, Load Average, Memory, Network Gränssnitt, Disk I / O, Processer och File System utnyttjande.

Installera blickar i ditt system med följande kommando.

I Ubuntu :

 # sudo apt-get install glances

I Centos:

 # sudo yum install glances

Du kan köra blickar i 3 lägen-

1. Fristående

Om du vill övervaka din lokala maskin (fristående), kör du helt enkelt-

 # glances

2. Klient / server

Om du vill fjärrövervaka en maskin så kör du följande på servern.

 # glances -s

och sedan från klienten , kör följande kommando.

 # glances -c @server

där @server är serverns IP-adress eller värdnamn.

3. Webbserver

Kör blicken i webbserverläge genom att utföra följande kommando i terminalen.

 # glances -w Glances web server started on http://0.0.0.0:61208/

För att ändra uppdateringsfrekvensen för sida, lägg bara till perioden i sekunder i slutet av webbadressen. Till exempel, för att uppdatera sidan var 30: e sekund, lägg till 10 i blicken på serverns URL från webbläsaren.

 http://@server:61208/30

10) Cpustat

Cpustat är som en fin typ av topp som gör olika saker. De flesta prestandaverktygen genomsnittliga CPU-användning över några sekunder eller till och med en minut. Detta resulterar i en fantasi om överkapacitet på grund av en plötslig ökning av resursanvändningen som blandas med mindre upptagna perioder. Å andra sidan tar cpustat prover med högre frekvens av varje process och sammanfattar dessa prover med en lägre frekvens. Den kan till exempel mäta en process var 200: e ms och sammanfatta proverna var 5: e sekund, inklusive min / medel / max-värden för vissa mätvärden.

Installera Cpustat

Cpustat skrivs på Go-språket. Därför behöver du GO i ditt system. Om den inte finns installerar du den med följande kommandon 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 är installerat i ditt system skapar du en katalog för Cpustat och gör den här katalogen tillgänglig för GOPATH.

 # mkdir cpustat # export GOPATH=$HOME/cpustat

Installera Cpustat och kontrollera att katalogerna kopieras till mappen cpustat.

 # go get github.com/uber-common/cpustat # cd cpustat && ls

Lägg till bin-mapp till PATH-miljövariabeln. Du kan också lägga till följande rad i ~ / .bashrc eller / etc / profil beroende på vad du använder.

 # export PATH=$PATH:/root/cpustat/bin

Det finns två sätt att visa detta data. Antingen en ren textlista över sammanfattningsintervallet eller en färgstark bläddringspanel för varje prov. För att visa data i snyggt terminalläge, kör följande kommando i terminalen.

 # cpustat -t

För att köra i ren textläge, använd följande kommando. I textläge kommer få systemomfattande mätvärden från / proc / stat.

 # cpustat

Följande kommando tar ett exempel på alla processer var 500: e och sammanfatta dessa data efter tio prover, vilket är var 5: e sekund.

 # cpustat -s 500 -s 10 -n 20

Använd följande kommando för att mäta processer som ägs av antingen user root eller user ubuntu. Den totala systemstatistiken kommer fortfarande att mätas.

 # cpustat -u root, ubuntu

Mät bara processerna för ”apache” eller ”mysql”. Alternativet -p för cpustat tar en lista över process-ID som returneras av pgrep. pgrep används för att få process-id: er (-d-alternativ).

 # cpustat -p $(pgrep -d, apache2\|mysqld)

Använd följande kommando för att skriva minnesprofil i en fil.

 # cpustat -memprofile test.txt

11) perf

Perf kan mäta CPU-prestandaräknare, spårpunkter, kprober och uprobes som ingår i Linux-kärnan, under verktyg / perf. perf började som ett verktyg för att använda subsystem för prestandaräknare i Linux och har haft olika förbättringar för att lägga till spårningsfunktioner. Perfverktygen är integrerade i Linux-kärnan sedan 2.6-versionen och baseras på delsystemet perf events. Perf-profilen använder hårdvaruräknare för att profilera applikationen. Resultatet av denna profil är tydligt och snabbt. Perf-verktyget finns i paketet linux-tools.

Measure entire system for 10 seconds using perf.
 # perf stat -a -- sleep 10

Om du är intresserad av att hitta CPU-prestanda för ett visst” kommando ”som cp. Följande perf-kommando profilerar cp medan den kopierar hela katalogen Dokument till ny plats (Docs).

 # perf stat cp -r Documents/ Docs

Om du vill hitta CPU-räknarstatistik för en angiven PID använd sedan följande kommando tills CTRL + C trycks in.

 # perf stat -p 2087

Hitta grundläggande CPU-statistik, systemomfattande, i 10 sekunder med följande perf kommando. Du kan också utelämna något av alternativen under -e-alternativet för att vara mer specifikt.

 # perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10

Samla exempel på användarinstruktioner på CPU, i 5 sekunder och sedan använd perf-rapport för att visa rapporten.

 # perf record -e cycles:u -a -- sleep 5 # perf report

Samla in samplingsspår av CPU-stack, en gång var 10 000 nivå 1-datacache, i 5 sekunder och använd sedan perf-rapport för att se rapporten.

 # perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report

12) tiptop

Tiptop läser hårdvaruprestationsräknare och visar statistik om Linux-processer som körs, till exempel IPC eller cachemissar. Det ger en dynamisk realtidsvy av de uppgifter som körs i systemet. Tiptop är mycket lik topp, men informationen som visas kommer från hårdvaruräknare.

Den har två körlägen, live-mode och batch-mode. I båda lägena frågas systemet med jämna mellanrum efter värdena för hårdvaruräknare och olika förhållanden skrivs ut för varje uppgift.

13) ps-kommando

Vi kan använda kommandot ps för att hitta CPU-användning för varje process eller användare. Några få exempel att förstå

Att visa den högsta CPU & Minnesutnyttjande genom processer som drivs av root.

Kör följande kommando för att visa CPU-användning för det specifika kommandot:

För att visa processer för alla användare och inte anslutna till en terminal i fullformatslista med en sortering

14) dstat-kommando

dstat-kommando är ett mångsidigt verktyg för att generera systemresursstatistik och det skulle också visa CPU-statistik. Du måste installera den för att kunna använda den

På Centos

# yum install -y dstat

På Ubuntu

# apt-get install dstat

För att övervaka program som använder mest CPU och konsumerar mest minne.

# dstat -c --top-cpu -dn --top-mem

Slutsats

I denna handledning har vi utforskat några CPU-övervakningsverktyg tillsammans med deras användningsområden. Var noga med att läsa mansidor för var och en av dem, eftersom det också dokumenterar användningen i detalj. Kom ihåg att användning av dessa verktyg också kräver en processorskiva. Till exempel tar top 3% -4% av CPU medan blickar tar 15% till 20% av CPU. Så när du använder någon av dessa måste du också överväga denna aspekt. I ett nötskal kommer du att kunna hitta vilken process som tar mer CPU-tid, om det finns tillräckligt med ledigt minne, oavsett om processerna är stoppade medan du väntar på I / O, dvs. disk- eller nätverksåtkomst för att slutföra läs / skriv och mycket mer genom att använda en kombination av få av dem.

Läs också:

  • Hur man övervakar Linux-prestanda med Sar Command
  • Installera htop 2.0.2 och använd kommandoraden på Linux

Write a Comment

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *