I denne vejledning skal du tjekke, hvordan du kontrollerer CPU-udnyttelse i Linux.
CPU-udnyttelse i Linux
CPU'en er den primære kilde til al den processorkraft, en computer tilbyder. For at få mest muligt ud af det er det nødvendigt at administrere og optimere brugen af det.
Moderne operativsystemer er optimeret til at bruge CPU'en så effektivt som muligt. Selv andre apps derude er ret optimerede. Brugere kan dog ikke være det. I mit tilfælde spiller jeg for eksempel spil, mens der er hundredvis af browserfaner åbne og flere baggrundsopgaver kører. Mens al softwaren er optimeret, vil min måde at bruge medføre en højere CPU-belastning.
Hvis flere brugere er logget ind, vil CPU-brugen automatisk være høj. Systemadministratoren vil dog muligvis holde øje med det for at sikre, at nogen ikke hogger det hele, hvilket forårsager generel dårlig systemydelse og erfaring. Hvis en bestemt proces / app forårsager for meget CPU-brug, kan den enten være funktionsfejl, bugged, eller det er arten af det.
Nogle gange kan usædvanlig CPU-brug også indikere, at der er en systemindtrængning.
Baseret på al denne information kan kontrol af CPU-udnyttelse være ret indsigtsfuld.
Tjek CPU-udnyttelse i Linux
I tilfælde af Linux er der mange værktøjer til at overvåge CPU-brug. Det har forskellige indbyggede systemopkald for at udtrække ydeevneaflæsninger. Nogle af værktøjerne er forudinstalleret med alle Linux-distroer, nogle kræver muligvis manuel installation.
Alle følgende metoder vises på Ubuntu 20.04.1 LTS. De fungerer dog fint på enhver anden moderne distro.
Tjek CPU-udnyttelse ved hjælp af top
Ved hjælp af top kan du overvåge systemet i realtid. Den rapporterer en kort oversigt over systemoplysninger sammen med en liste over processer og tråde, der i øjeblikket administreres af Linux-kernen. Det tilbyder også interaktive muligheder for at ændre dets adfærd og udføre forskellige handlinger.
Det øverste værktøj kan vise CPU-udnyttelse. Start værktøjet.
$ top
Her er den vigtigste linje at fokusere på den tredje. Outputværdierne forklares kort. Hver værdi forklarer, hvor lang tid CPU'en bruger på at udføre noget.
- os: Tid brugt på at køre processer for mennesker i "brugerrummet".
- sy: Tid brugt på at køre “kernel space” -processer.
- ni: Tid brugt på at køre processer med tilpasset (manuelt indstillet) pæn værdi.
- id: Tid brugt inaktiv.
- wa: Brugt tid på at afslutte I / O-anmodning.
- hej: Brugt tid på at afbryde hardware afbrydes.
- si: Afbrudt tidsforbrug til service software.
- st: Tabt tid til kørsel af virtuel maskine, også kendt som "stjæletid".
Nu kan du sortere og filtrere proceslisten med forskellige genvejstaster. Her har jeg beskrevet dem, der er forbundet med CPU-brug.
- P: Sorter processer efter CPU-brug.
- I: Fjern ledige processer fra listen. Tryk på “I” igen for at vende tilbage.
- M: Sorter listen efter hukommelsesforbrug.
- S: Sorter listen efter, hvor længe processer har kørt.
- U: Filtrer processerne efter ejeren.
- K: Dræb en proces. Kræver PID for processen.
Tjek CPU-udnyttelse ved hjælp af htop
Htop og top begge er stort set de samme værktøjer. De tilbyder begge de samme funktioner med hensyn til systemovervågningskapacitet. Dog tilbyder htop en bedre livskvalitetsoplevelse.
Standardvisningen på htop er mere behagelig at arbejde med. Brugergrænsefladen har bedre klarhed end toppen. Teksterne er farvede og behagelige at se på. Det tilbyder også både vandret og lodret rulning.
Mens de fleste distroer har top installeret som standard, skal du installere htop manuelt. Det er bedst at installere htop ved hjælp af snap, da det fungerer på enhver Linux-distro. Forudsat at du har snappy (snap pakkehåndtering) installeret, skal du køre følgende kommando.
$ sudo snap installere htop
Start htop.
$ htop
Jeg vil ikke diskutere noget yderligere, da brugen af htop er den samme som toppen.
Tjek CPU-udnyttelse ved hjælp af iostat
Iostat-værktøjet rapporterer CPU- og I / O-brugsstatistikker. Det er et simpelt værktøj med enkel output. Det rapporterer dog kun statistikkerne for det øjeblik, værktøjet blev kørt. I modsætning til top eller htop tilbyder iostat ikke systemovervågning i realtid.
Iostat-værktøjet kommer som en del af sysstat-pakken. Den er tilgængelig på næsten enhver Linux-distro. Forudsat at du har installeret sysstat-pakken, lad os gå videre.
Start iostat.
$ iostat
Interesseret i en mere detaljeret rapport? Brug “-c” -flagget til at se CPU-brug af brugerprocesser, systemprocesser, I / O-ventetid og inaktiv tid.
$ iostat -c
Brug flag “-x” til udvidet statistik. Flagget “-t” definerer, hvor mange gange hver rapport skal vises.
$ iostat -xtc 5 2
Tjek CPU-udnyttelse ved hjælp af mpstat
Værktøjet mpstat er en del af sysstat-pakken. Værktøjet rapporterer brugen af individuelle processorer eller processorkerner.
For at bruge mpstat skal du have sysstat-pakken installeret i dit system. Forudsat at du allerede har pakken installeret, lad os gå videre.
Start mpstat.
$ mpstat
Her er hvad værdierne betyder. Hver værdi beskriver CPU-brugen på et bestemt niveau.
- % usr: CPU-brug på brugerniveau.
- % pæn: CPU-brug ved "pæne" brugerprocesser.
- % sys: CPU-brug af kernen.
- % iowait: Venter på disk læsning / skrivning.
- % irq: Håndtering af hardware afbryder.
- % soft: Håndteringssoftware afbryder.
- % stjæle: Tvunget venter på en hypervisor, der håndterer virtuelle processorer.
- % gæst: Kører en virtuel processor.
- % inaktiv: Stående inaktiv.
Tjek CPU-udnyttelse ved hjælp af sar
Sar-kommandoen er til indsamling og rapportering af systemaktivitetsoplysninger. Det giver en kort og enkel rapport om CPU-udnyttelse.
Vi kan bruge sar til at tilbyde CPU-informationen med et bestemt interval (i sekunder). Selvom det ikke er en realtidsrapport, er det stadig bedre at arbejde med.
$ sar
I det sidste eksempel ville sar løbe uendeligt. Vi kan definere, hvor mange forekomster sar vil udskrive output. I det følgende eksempel udskriver sar output med 5 sekunders interval i 10 gange.
$ sar 5 10
Tjek CPU-udnyttelse ved hjælp af vmstat
Vmstat-værktøjet rapporterer forskellige systemoplysninger som systemprocesser, hukommelse, swap, CPU-ydeevne og I / O.
Kør vmstat. Det rapporterer systemoplysningerne i det øjeblik det blev kørt.
$ vmstat
I lighed med sar kan vmstat rapportere systemstatus med et fast interval (i sekunder).
$ vmstat 3
I det sidste trin ville vmstat køre uendeligt. For at køre vmstat i en fast periode skal du definere antallet af kørsler. Her rapporterer vmstat systemstatus med 3 sekunders interval i 10 gange.
$ vmstat 3 10
Tjek CPU-udnyttelse ved hjælp af blik
Glances er et kraftfuldt værktøj til overvågning af systemstatus. Det er skrevet i Python, der bruger psutil-biblioteket til at få fat i forskellige systemoplysninger. Blik tilbyder masser af dybdegående systeminfo som CPU-overvågning, hukommelse, netværksbrug, disk I / O, processer og filsystemudnyttelse osv. Tjek blik på GitHub.
Installation af blik er en simpel opgave. Den følgende metode fungerer på enhver GNU / Linux distro. Alt hvad du behøver er at have enten krølle eller wget installeret i dit system. Blik installeres med alle de nødvendige afhængigheder.
$ curl -L https: // bit.ly / blik | / bin / bash$ wget -O- https: // bit.ly / blik | / bin / bash
Blik er også tilgængelige som en snap-pakke. Forudsat at du har snappy (snap pakkehåndtering) installeret i dit system, skal du installere Glances snap fra Snapcraft. Tjek blik på Snapcraft.
$ sudo snap installerer blik
Brug af blik er meget simpelt. For at starte den uafhængige tilstand skal du køre følgende kommando.
$ blik
Blik tilbyder også at køre i webserver-tilstand. For at starte webserveren skal du køre følgende kommando.
$ blik -w
For at få adgang til serveren skal du gå til følgende URL.
$ http: //
For rå informationsoutput kan blik udskrive output til STDOUT.
$ blik - stdout cpu.bruger, mem.brugt, belastning
Afsluttende tanker
Der er mange måder at få CPU-udnyttelse på. Mens de alle fungerer fint, afhængigt af din nødvendighed, skal du muligvis holde fast ved et par af dem. Hvis du er systemadministrator, giver mastering af top / htop og blik mest fleksibilitet. Hvis du bare vil have en hurtig opdatering af systemressourceforbruget, giver andre metoder en bedre oplevelse.
Det er fint og nyttigt at kontrollere CPU-udnyttelse. For at sikre stabilitet er det dog nødvendigt at kontrollere, at dit system kan fungere fint selv under maksimal belastning. Tjek nogle nyttige Linux-apps til stresstest og benchmark CPU-ydeevne.
Glad computing!