14 kommandolinjeværktøjer til kontrol af CPU-brug i Linux

CPU-ydeevne er et aspekt ved måling af et systems ydeevne. Overvågning af CPU’ens ydeevne er afgørende for fejlretning af processer i ethvert system, styring af systemressourcer, systembeslutninger og evaluering og undersøgelse af systemer i realtid.

Der er mange værktøjer til rådighed til overvågning og visning CPU-ydeevne. Operativsystemer har indbyggede systemopkald, som disse værktøjer er afhængige af for at udtrække ydeevneaflæsningerne.

I denne vejledning vil vi undersøge det bedste overvågningsværktøj til CPU-brug og deres anvendelser i enhver Linux-baseret distro.

1) Top

Topkommandoen viser realtidsvisning af ydeevnerelaterede data for alle kørende processer i et system. Som standard opdaterer den øverste kommando data hvert 5. sekund. Skriv “top” fra terminalen for at se de statistiske data, der er relateret til et systems ydeevne.

 # top

For at ændre output fra øverste kommando skal du trykke på:

“P” for at sortere efter CPU-brug.

“I” for at fjerne ledige processer fra displayet og for at vende tilbage, tryk på “I” igen.

“M” for at sortere data efter hukommelsesforbrug.

“S” for at sortere efter, hvor længe processerne har kørt type.

“P” for at sortere efter CPU-brug.

“U” for at se processer, der ejes af en bestemt bruger.

“K” for at dræbe processer.

“R” for at nægte processer.

2) Iostat

iostat-kommandolisten CPU-udnyttelse, enhedsudnyttelse og netværksfilsystemudnyttelse. Dette hjælpeprograms skærmsystems gennemsnitlige CPU-udnyttelse siden sidste genstart. At køre følgende kommando uden nogen indstillinger viser alle de tre rapporter.

 # iostat

For at liste den enkelte rapport skal du bruge -c, -d og -h switch til CPU-udnyttelse , enhedsudnyttelse og netværksfilsystemudnyttelse. Den følgende kommando bryder CPU-udnyttelsen i brugerprocesser, systemprocesser, I / O ventetid og inaktiv tid.

 # iostat -c

Den følgende kommando viser udvidede statistikker ( -x), antallet af gange (-t) hver rapport skal vises til CPU-udnyttelse (-c).

 # iostat -xtc 5 2

3) Vmstat

Kommandoen vmstat viser statistik om systemprocesser, hukommelse, swap, I / O og CPU-ydeevne. Til visning af statistik indsamles dataene fra sidste gang kommandoen blev kørt til i dag. Hvis kommandoen aldrig køres, vil dataene være fra den sidste genstart til det aktuelle tidspunkt.

På flere CPU-systemer er vmstat gennemsnit af antallet af CPU’er i output. Vmstat-kommandoen opdaterer sin output som den øverste kommando.

Den følgende kommando opdaterer sin rapport hvert 5. sekund, indtil der er et afbrydelse.

 # vmstat 5

Følgende kommando viser de data, der opdateres hvert 5. sekund, og værdierne måles igen og rapporteres hvert 1. sekund.

 # vmstat 1 5

første linje udskriver de gennemsnitlige værdier siden sidste gang computeren blev genstartet. Resten af linjerne viser deres respektive aktuelle værdier. En normal bruger kan køre vmstat-kommandoen.

4) Mpstat

Mpstat er en del af sysstat-pakken i Linux. Kommandoen mpstat skriver til standardoutput om aktiviteter for hver tilgængelig processor, hvor processor 0 er den første. Hvis der ikke er valgt nogen aktivitet, er standardrapporten CPU-udnyttelsesrapporten.

mpstat uden nogen indstilling viser globale gennemsnitlige aktiviteter for alle CPU’er

 # mpstat

mpstat med -p option og “ALL” viser statistik om alle CPU’er en efter en startende fra 0.

 # mpstat -P ALL

Den følgende kommando vil liste gennemsnitlig CPU-brug i 4 gange, hver efter 2 sekunder.

 # mpstat -P ALL 2 4

5) Sar

Sar er et ydeevneovervågningsværktøj til indsamling, visning og optagelse af ydeevnedata og kan liste, hvad et system gør hele tiden. Sar-kommandoen kan generere rapporter og e-maile dem til systemadministrator. Statistikken rapporteret af sar inkluderer I / O-overførselshastigheder, personsøgningsaktivitet, procesrelaterede aktiviteter, afbrydelser, netværksaktivitet, hukommelse og swap-pladsudnyttelse, CPU-udnyttelse, kerneaktiviteter og TTY-statistik, blandt andre. Kør sar uden nogen mulighed, og kontroller output. Standard outputliste statistik for hvert 10. minut og et endeligt gennemsnit.

 # sar

Vis CPU-statistik 3 gange med 2 sekunders interval.

 # sar 2 3

Følgende kommando viser kumulativ realtids-CPU-brug af al CPU i hvert 2. sekund i alt 3 gange.

 # sar -u 2 3

Indstillingen “-P ALL” viser statistik for ALLE de enkelte kerner. Hvis dit system har 4 kerner, vil “CPU-kolonnen” indeholde tallet 0, 1, 2, 3, der angiver de tilsvarende CPU-kernenumre.Indstillingen “2 3” viser statistikken hvert 2. sekund i 3 gange.

 # sar -P ALL 2 3

Muligheden” -P 2 “viser statistik for tredje kerne hvert 2. sekund i 3 gange.

 # sar -P 2 2 3

6) CoreFreq

CoreFreq er en CPU-ydelsesovervågningssoftware designet til 64-bit processorer med arkitekturer Intel Atom, Core2, Nehalem, SandyBridge og overlegen, AMD Family. CoreFreq giver en ramme til at hente CPU-data med en høj grad af præcision. Kernemodulet, dæmonen og brugerlandets kommandolinjegrænseflade (CLI) er de tre dele af Corefreq. Kernemodulet har fuld adgang til værten. Det er dets ansvar at indsamle data på lavt niveau. Userland-dæmonen indsamler dataene. Du skal være rodbruger for at køre dæmonen. Endelig kommer CoreFreq med en terminalgrænseflade til at rapportere data i et pænt menneskeligt læsbart format. Dette CLI-værktøj er en almindelig proces og kan bruges af slutbrugeren.

Forudsætning

i) CoreFreq bruger tælleren på lavt niveau og derfor skal du først deaktivere NMI-vagthund gennem / etc / default / grub. Rediger / etc / default / grub, og tilføj “nmi_watchdog = 0” kernen kommandolinjeargument og kør derefter opdateringsgrub.

 # vi /etc/default/grub
 .................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
 # update-grub && reboot

ii) Ingen virtualisering. VM’er giver ikke adgang til de registre, som CoreFreq-driveren bruger.

Installer CoreFreq

Installer kernemodulet med insmod

 # sudo insmod corefreqk.ko

Angiv CoreFreq-modulet med lsmod

 # lsmod | grep corefreq corefreqk 49152 0

Outputtet fra dmesg-kommandoen viser, at CoreFreq er blevet genkendt af processoren.

 # sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU 

Start CoreFreq-dæmonen

 # sudo ./corefreqd -i &

Start nu corefreq-klienten som bruger.

 # ./corefreq-cli

7) Htop

Htop er en procesfremviser og en teksttilstandsprogram til systemovervågning i realtid som top. Den viser en komplet liste over de processer, der kører og er nemme at bruge. Den er baseret på ncurses til visning af processerne i et GUI-lignende miljø, der kører i terminalen. Htop viser brug pr. CPU sammen med hukommelse og swap-brug med en markant tekstgraf udskrevet øverst. Htop er meget praktisk at bruge og let at forstå. Når du begynder at bruge HTOP, y Du vender muligvis ikke tilbage til TOP.

Installer htop ved hjælp af følgende kommando i terminalen

 # sudo apt-get install htop

Kør htop ved hjælp af følgende kommando.

 # htop

8) Nmon

nmon (Nigels performance Monitor for Linux & AIX) er udviklet af IBM-medarbejder Nigel Griffiths. Dette værktøj bruges til at overvåge systemressourcer som CPU, hukommelse, netværk, diske, filsystemer, NFS, topprocesser i terminalen. NMON understøtter forskellige arkitekturer som POWER, x86, x86_64, Mainframe og ARM (Raspberry Pi). Dette værktøj hjælper systemadministratoren med at indstille, benchmark ydeevneoplysninger til fejlfinding af CPU / systemets ydelse, når der er nogle problemer. Til realtidsovervågning bruger den forbandelsesbiblioteket til lav CPU-effekt og viser statistik på skærmen og opdateres hvert andet sekund. nmon bruger mindre CPU-hukommelse sammenlignet med andre værktøjer, da det bruger forbandelsesbiblioteket.

Installation

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

CentOS-brugere skal installere / aktivere EPEL Repository for at installere nmon.

Skriv nmon i terminalen, og tryk på enter, nmon viser en velkomstskærm med alle muligheder for at bruge den yderligere. Hvis du vil vise CPU-udnyttelse, skal du trykke på c og skjule CPU-udnyttelseswidgets-statistikkerne ved at trykke på “c” igen.

9) Blik

Blik er et kryds-platform forbandelsesbaseret overvågningsværktøj skrevet i Python, der bruger psutil-biblioteket til at hente data fra systemet. Blik overvågning CPU, indlæs gennemsnit, hukommelse, netværksinterfaces, disk I / O, processer og filsystemudnyttelse.

Installer blik i dit system med følgende kommando.

I Ubuntu :

 # sudo apt-get install glances

I Centos:

 # sudo yum install glances

Du kan køre blik i 3 tilstande-

1. Standalone

Hvis du vil overvåge din lokale maskine (Standalone), skal du blot køre-

 # glances

2. Klient / server

Hvis du vil overvåge en maskine eksternt, skal du udføre følgende på serveren.

 # glances -s

og derefter fra klienten , udfør følgende kommando.

 # glances -c @server

hvor @server er serverens IP-adresse eller værtsnavn.

3. Webserver

Kør blikket i webserver-tilstand ved at udføre følgende kommando i terminalen.

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

Sådan ændres opdateringshastigheden for side, skal du blot tilføje perioden i sekunder i slutningen af URL’en. For eksempel, for at opdatere siden hvert 30. sekund, skal du tilføje 10 til serverens webadresse fra browseren.

 http://@server:61208/30

10) Cpustat

Cpustat er som en fancy slags top, der gør forskellige ting. De fleste ydelsesværktøjer har gennemsnitlig CPU-brug over et par sekunder eller endda et minut. Dette resulterer i en fantasi om overkapacitet på grund af en pludselig stigning i ressourceforbrug, der blandes med mindre travle perioder. På den anden side tager cpustat prøver med højere frekvens af hver proces og opsummerer disse prøver med en lavere frekvens. For eksempel kan den måle en proces i hver 200 ms og opsummere prøverne hvert 5. sekund, inklusive min / gennemsnit / max-værdier for nogle metrics.

Install Cpustat

Cpustat er skrevet på Go-sprog. Derfor har du brug for GO i dit system. Hvis det ikke er der, skal du installere det ved hjælp af 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 installeret i dit system, skal du oprette en mappe til Cpustat og gøre denne mappe tilgængelig for GOPATH.

 # mkdir cpustat # export GOPATH=$HOME/cpustat

Installer Cpustat, og kontroller, at mapperne er kopieret til mappen cpustat.

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

Føj bin-mappe til PATH-miljøvariablen. Du kan også tilføje følgende linje til ~ / .bashrc eller / etc / profil afhængigt af hvad du bruger.

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

Der er to måder at vise dette på data. Enten en ren tekstliste over resuméintervallet eller et farverigt rulle dashboard for hver prøve. For at få vist data i fancy terminaltilstand skal du udføre følgende kommando i terminalen.

 # cpustat -t

Brug følgende kommando for at køre i ren teksttilstand. I teksttilstand kommer få systemomfattende metrics fra / proc / stat.

 # cpustat

Følgende kommando tager en prøve af alle processer i hver 500 ms og opsummer disse data efter 10 prøver, hvilket er hvert 5. sekund.

 # cpustat -s 500 -s 10 -n 20

Brug følgende kommando til at måle processer, der ejes af enten brugerrod eller bruger ubuntu. Den samlede systemstatistik måles stadig.

 # cpustat -u root, ubuntu

Må kun processer med “apache” eller “mysql”. Indstillingen -p for cpustat tager en liste over proces-id’er, der returneres af pgrep. pgrep bruges til at hente proces-id’erne (-d option).

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

Brug følgende kommando til at skrive hukommelsesprofil i en fil.

 # cpustat -memprofile test.txt

11) perf

Perf kan måle CPU-ydelsestællere, tracepoints, kprobes og uprobes, der er inkluderet i Linux-kernen, under tools / perf. perf begyndte som et værktøj til brug af delsystemet Performance Counter i Linux og har haft forskellige forbedringer for at tilføje sporingsfunktioner. Perf-værktøjerne er integreret i Linux-kernen siden 2.6-versionen og er baseret på perf events subsystem. Perf-profilen bruger hardwaretællere til at profilere applikationen. Resultatet af denne profil er eksplicit og hurtig. Perf-hjælpeprogrammet kan findes i linux-tools-pakken.

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

Hvis du er interesseret i at finde CPU-ydeevne for en bestemt” kommando “som cp. Følgende perf-kommando vil profilere cp, mens den kopierer hele kataloget Dokumenter til en ny placering (Docs).

 # perf stat cp -r Documents/ Docs

Hvis du vil finde CPU-tællerstatistik til et specificeret PID, brug derefter følgende kommando, indtil der trykkes på CTRL + C.

 # perf stat -p 2087

Find de grundlæggende CPU-statistikker, hele systemet, i 10 sekunder ved hjælp af følgende perf kommando. Du kan også udelade en af indstillingerne under -e for at være mere specifikke.

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

Saml prøveeksempel på CPU-brugerinstruktioner i 5 sekunder og derefter brug perf-rapport til at se rapporten.

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

Indsaml eksempler på CPU-stakspor, hver 10.000 niveau 1-data-cache går glip af, i 5 sekunder, og brug derefter perf-rapport for at se rapporten.

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

12) tiptop

Tiptop læser hardware-ydeevnedeltællere og viser statistik om kørende Linux-processer, såsom IPC eller cache-savner. Det giver et dynamisk realtidsbillede af de opgaver, der kører i systemet. Tiptop ligner meget toppen, men de viste oplysninger kommer fra hardwaretællere.

Den har to kørende tilstande, live-mode og batch-mode. I begge tilstande forespørges systemet periodisk om værdierne for hardwaretællere, og der udskrives forskellige forhold for hver opgave.

13) ps kommando

Vi kan bruge ps kommando til at finde CPU-brug for hver eller flere processer. Givet nogle få eksempler at forstå

For at få vist den højeste CPU & Hukommelsesudnyttelse ved processer, der køres af root.

Kør følgende kommando for at vise CPU-brug for den specifikke kommando:

At vise processer for alle brugere og ikke er knyttet til en terminal i fuldformatliste med en slags

14) dstat-kommando

dstat-kommando er et alsidigt værktøj til generering af systemressourcestatistikker, og det vil også vise CPU-statistik. Du skal installere det for at kunne bruge det

På Centos

# yum install -y dstat

På Ubuntu

# apt-get install dstat

For at overvåge program, der bruger mest CPU og forbruger mest mulig hukommelse.

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

Konklusion

I denne vejledning har vi undersøgt få CPU-overvågningsværktøjer sammen med deres anvendelser. Sørg for at læse mandsider for hver af dem, da det også dokumenterer anvendelsen detaljeret. Husk, at brug af disse værktøjer også tager et CPU-stykke. For eksempel tager top 3% -4% af CPU, mens blik tager 15% til 20% af CPU. Så mens du bruger en af disse, skal du også overveje dette aspekt. I en nøddeskal vil du være i stand til at finde ud af, hvilken proces der tager mere CPU-tid, er der nok ledig hukommelse, om processer er gået i stå, mens du venter på I / O, dvs. disk- eller netværksadgang for at fuldføre læsning / skrivning og meget mere ved hjælp af en kombination af få af dem.

Læs også:

  • Sådan overvåges Linux-ydeevne ved hjælp af Sar Command
  • Installer htop 2.0.2, og brug kommandolinjen på Linux

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *