Hoe het CPU-gebruik in Linux te controleren

How Check Cpu Utilization Linux



De prestaties van de CPU zijn een van de belangrijkste determinanten van de prestaties van een systeem. Om het maximale uit de beperkte verwerkingskracht te halen, is het noodzakelijk om te controleren hoe deze bron wordt gebruikt. Het monitoren van de CPU-prestaties kan helpen bij het debuggen van processen, het beheren van systeembronnen, het nemen van systeembeslissingen en het in realtime evalueren van systemen.

Bekijk in deze handleiding hoe u het CPU-gebruik in Linux kunt controleren.







CPU-gebruik in Linux

De CPU is de primaire bron van alle verwerkingskracht die een computer biedt. Om er het maximale uit te halen, is het noodzakelijk om het gebruik ervan te beheren en te optimaliseren.



Moderne besturingssystemen zijn geoptimaliseerd om de CPU zo efficiënt mogelijk te gebruiken. Zelfs andere apps die er zijn, zijn behoorlijk geoptimaliseerd. Gebruikers kunnen dat echter niet zijn. In mijn geval speel ik bijvoorbeeld games terwijl er honderden browsertabbladen open zijn en meerdere achtergrondtaken worden uitgevoerd. Hoewel alle software is geoptimaliseerd, zal mijn manier van gebruik een hogere CPU-belasting veroorzaken.



Als er meerdere gebruikers zijn ingelogd, zal het CPU-gebruik automatisch hoog zijn. Het kan echter zijn dat de systeembeheerder het in de gaten wil houden om ervoor te zorgen dat iemand niet alles in beslag neemt, waardoor de systeemprestaties en -ervaring over het algemeen slecht zijn. Als een bepaald proces / bepaalde app te veel CPU-gebruik veroorzaakt, kan het defect zijn, zijn afgeluisterd of dat is de aard ervan.





Soms kan ongebruikelijk CPU-gebruik er ook op wijzen dat er een systeeminbraak is.

Op basis van al deze informatie kan het controleren van het CPU-gebruik behoorlijk inzichtelijk zijn.



Controleer het CPU-gebruik in Linux

In het geval van Linux zijn er tal van tools om het CPU-gebruik te controleren. Het heeft verschillende ingebouwde systeemaanroepen om prestatiemetingen te extraheren. Sommige hulpprogramma's zijn vooraf geïnstalleerd met alle Linux-distributies, voor sommige is handmatige installatie vereist.

Alle volgende methoden worden gedemonstreerd op Ubuntu 20.04.1 LTS. Ze werken echter prima op elke andere moderne distro.

Controleer het CPU-gebruik met top

Met top kunt u het systeem realtime volgen. Het rapporteert een korte samenvatting van systeeminformatie samen met een lijst van processen en threads die momenteel worden beheerd door de Linux-kernel. Het biedt ook interactieve opties om zijn gedrag aan te passen en verschillende acties uit te voeren.

De bovenste tool kan het CPU-gebruik weergeven. Start het hulpprogramma.

$bovenkant

Hier is de belangrijkste lijn om op te focussen de derde. De uitgangswaarden worden kort toegelicht. Elke waarde verklaart de hoeveelheid tijd die de CPU besteedt aan het uitvoeren van iets.

  • ons: Tijd besteed aan het uitvoeren van processen voor mensen in de gebruikersruimte.
  • sy: Tijd besteed aan het uitvoeren van kernelruimteprocessen.
  • ni: Tijd besteed aan het uitvoeren van processen met aangepaste (handmatig ingestelde) mooie waarde.
  • id: tijd inactief doorgebracht.
  • wa: Tijd besteed aan het wachten op het voltooien van het I/O-verzoek.
  • hi: Tijd besteed aan het onderhouden van hardware-interrupts.
  • si: Tijd besteed aan het onderhouden van software-onderbrekingen.
  • st: Verloren tijd voor het draaien van een virtuele machine, ook wel stealtime genoemd.

Nu kunt u de proceslijst sorteren en filteren met verschillende sneltoetsen. Hier heb ik degenen beschreven die verband houden met het CPU-gebruik.

  • P: Sorteer processen op CPU-gebruik.
  • I: Verwijder inactieve processen uit de lijst. Druk nogmaals op I om terug te keren.
  • M: Sorteer de lijst op geheugengebruik.
  • S: Sorteer de lijst op hoe lang processen zijn uitgevoerd.
  • U: Filter de processen op de eigenaar.
  • K: Dood een proces. Vereist de PID van het proces.

Controleer het CPU-gebruik met htop

Htop en top zijn beide in wezen dezelfde tools. Ze bieden beide dezelfde functies op het gebied van systeembewaking. htop biedt echter een betere levenskwaliteit.

De standaardweergave van de htop is prettiger om mee te werken. De gebruikersinterface heeft een betere duidelijkheid dan de bovenkant. De teksten zijn ingekleurd en prettig om naar te kijken. Het biedt ook zowel horizontaal als verticaal scrollen.

Hoewel de meeste distro's standaard top hebben geïnstalleerd, moet je htop handmatig installeren. Het is het beste om htop te installeren met snap omdat het werkt op elke Linux-distro. Ervan uitgaande dat u snappy (de snap-pakketbeheerder) hebt geïnstalleerd, voert u de volgende opdracht uit.

$sudosnapinstalleren htop

Start htop.

$htop

Ik zal niets verder bespreken, aangezien het gebruik van htop hetzelfde is als de top.

CPU-gebruik controleren met iostat

De iostat-tool rapporteert CPU- en I/O-gebruiksstatistieken. Het is een eenvoudig hulpmiddel met eenvoudige uitvoer. Het rapporteert echter alleen de statistieken van het moment dat de tool werd uitgevoerd. In tegenstelling tot top of htop biedt iostat geen realtime systeembewaking.

De iostat-tool wordt geleverd als onderdeel van het sysstat-pakket. Het is beschikbaar op bijna elke Linux-distro. Ervan uitgaande dat u het sysstat-pakket hebt geïnstalleerd, gaan we verder.

Start iostaat.

$iostaat

Geïnteresseerd in een uitgebreider verslag? Gebruik de vlag -c om het CPU-gebruik van gebruikersprocessen, systeemprocessen, I/O-wachttijd en inactieve tijd te zien.

$iostaat-C

Gebruik de vlag -x voor uitgebreide statistieken. De vlag -t bepaalt hoe vaak elk rapport moet worden weergegeven.

$iostaat-xtc 5 2

Controleer het CPU-gebruik met mpstat

De mpstat-tool is een onderdeel van het sysstat-pakket. De tool rapporteert het gebruik van individuele processors of processorcores.

Om mpstat te gebruiken, moet het sysstat-pakket op uw systeem zijn geïnstalleerd. Ervan uitgaande dat u het pakket al hebt geïnstalleerd, gaan we verder.

Start mpstat.

$mpstat

Dit is wat de waarden betekenen. Elke waarde beschrijft het CPU-gebruik op een bepaald niveau.

  • %usr: CPU-gebruik op gebruikersniveau.
  • %nice: CPU-gebruik door mooie gebruikersprocessen.
  • %sys: CPU-gebruik door de kernel.
  • %iowait: Wachten op lezen/schrijven van schijf.
  • %irq: Hardware-interrupts afhandelen.
  • %soft: Omgaan met software-onderbrekingen.
  • %steal: Gedwongen wachten op een hypervisor die virtuele processors verwerkt.
  • %guest: een virtuele processor draaien.
  • %inactief: Inactief.

CPU-gebruik controleren met sar

De sar-opdracht is voor het verzamelen en rapporteren van informatie over systeemactiviteit. Het biedt een kort en eenvoudig rapport over het CPU-gebruik.

We kunnen sar gebruiken om de CPU-informatie met een bepaald interval (in seconden) aan te bieden. Hoewel het geen realtime rapport is, is het toch beter om mee te werken.

$sar<interval_seconde>

In het laatste voorbeeld zou sar oneindig lopen. We kunnen definiëren hoeveel exemplaren sar de uitvoer zal afdrukken. In het volgende voorbeeld drukt sar de uitvoer 10 keer af met een interval van 5 seconden.

$sar5 10

Controleer het CPU-gebruik met vmstat

De vmstat-tool rapporteert verschillende systeeminformatie zoals systeemprocessen, geheugen, swap, CPU-prestaties en I/O.

Voer vmstat uit. Het rapporteert de systeeminformatie van het moment dat het werd uitgevoerd.

$vmstat

Net als bij sar kan vmstat de systeemstatus met een vast interval (in seconden) rapporteren.

$vmstat 3

In de laatste stap zou vmstat oneindig worden uitgevoerd. Om vmstat voor een vaste periode uit te voeren, definieert u het aantal runs. Hier rapporteert vmstat de systeemstatus met een interval van 3 seconden, gedurende 10 keer.

$vmstat 3 10

Controleer het CPU-gebruik met Glances

Glances is een krachtig hulpmiddel voor het bewaken van de systeemstatus. Het is geschreven in Python die de psutil-bibliotheek gebruikt om verschillende systeeminformatie op te halen. Glances biedt veel diepgaande systeeminformatie, zoals CPU-bewaking, geheugen, netwerkgebruik, schijf-I/O, processen en bestandssysteemgebruik, enz. Bekijk Glances op GitHub.

Glances installeren is een eenvoudige taak. De volgende methode werkt op elke GNU/Linux-distro. Het enige dat u nodig hebt, is dat curl of wget op uw systeem is geïnstalleerd. Glances wordt geïnstalleerd met alle benodigde afhankelijkheden.

$ krul-DEhttps://bit.ly/blikken| /ben/bash
$wget -OF-https://bit.ly/blikken| /ben/bash

Glances zijn ook verkrijgbaar als snap-pakket. Ervan uitgaande dat u snappy (snap-pakketbeheerder) op uw systeem hebt geïnstalleerd, installeert u Glances snap van Snapcraft. Bekijk Blik op Snapcraft.

$sudosnapinstallerenblikken

Het gebruik van Glances is heel eenvoudig. Voer de volgende opdracht uit om de zelfstandige modus te starten.

$blikken

Glances biedt ook aan om in de webservermodus te draaien. Voer de volgende opdracht uit om de webserver te starten.

$blikken-in

Ga naar de volgende URL om toegang te krijgen tot de server.

$http://<IP adres>:61208

Voor uitvoer van onbewerkte informatie kan Glances de uitvoer afdrukken naar STDOUT.

$ blikken--stdoutcpu.user,mem.used,load

Laatste gedachten

Er zijn tal van manieren om CPU-gebruik te krijgen. Hoewel ze allemaal prima werken, moet je, afhankelijk van je behoefte, misschien bij een paar van hen blijven. Als u een systeembeheerder bent, biedt het beheersen van top/htop en Glances de meeste flexibiliteit. Als u alleen een snelle update wilt van het verbruik van systeembronnen, bieden andere methoden een betere ervaring.

Het CPU-gebruik controleren is prima en nuttig. Om de stabiliteit te garanderen, is het echter noodzakelijk om te controleren of uw systeem goed kan functioneren, zelfs onder maximale belasting. Bekijk enkele handige Linux-apps om de CPU-prestaties te stresstesten en te benchmarken.

Veel computerplezier!