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. Het is echter mogelijk dat gebruikers niet. 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, wat leidt tot algehele slechte systeemprestaties en -ervaring. Als een bepaald proces/app te veel CPU-gebruik veroorzaakt, kan het defect zijn, een bug bevatten of dat is de aard ervan.
Soms kan ongebruikelijk CPU-gebruik ook aangeven 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 talloze tools om het CPU-gebruik te controleren monitor. 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 in 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 de tool.
$ top
Hier is de belangrijkste regel om op te focussen de derde. De uitgangswaarden worden kort uitgelegd. 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 "kernelruimte"-processen.
- ni: Tijd besteed aan het uitvoeren van processen met aangepaste (handmatig ingestelde) mooie waarde.
- id: tijd doorgebracht inactief.
- wa: Tijd besteed aan het wachten op het voltooien van het I/O-verzoek.
- hallo: 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 bekend als "steal time".
Nu kunt u de proceslijst sorteren en filteren met verschillende sneltoetsen. Hier heb ik degenen beschreven die verband houden met CPU-gebruik.
- P: Sorteer processen op CPU-gebruik.
- I: Inactieve processen uit de lijst verwijderen. 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 comfortabeler om mee te werken. De gebruikersinterface is duidelijker 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:.
$ sudo snap install 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 waarop 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-distributie. Ervan uitgaande dat u het sysstat-pakket hebt geïnstalleerd, gaan we verder.
Iostaat starten.
$ iostat
Geïnteresseerd in een meer diepgaand verslag? Gebruik de vlag "-c" om het CPU-gebruik van gebruikersprocessen, systeemprocessen, I/O-wachttijd en inactieve tijd te zien.
$ iostat -c
Gebruik de vlag "-x" voor uitgebreide statistieken. De vlag "-t" bepaalt hoe vaak elk rapport moet worden weergegeven.
$ iostat -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 "leuke" gebruikersprocessen.
- %sys: CPU-gebruik door de kernel.
- %iowait: Wachten op lezen/schrijven van schijf.
- %irq: hardware-interrupts afhandelen.
- %soft: software-onderbrekingen afhandelen.
- %steal: Gedwongen wachten op een hypervisor die virtuele processors verwerkt.
- %guest: een virtuele processor draaien.
- %inactief: Staand inactief.
CPU-gebruik controleren met sar
De sar-opdracht is voor het verzamelen en rapporteren van informatie over systeemactiviteit system. 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
In het laatste voorbeeld zou sar oneindig lopen. We kunnen bepalen hoeveel exemplaren sar de uitvoer zal afdrukken. In het volgende voorbeeld drukt sar de uitvoer 10 keer af met een interval van 5 seconden.
$ sar 5 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 rapporteren met een vast interval (in seconden).
$ 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-distributie. 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 -L https://bit.ly/blik | /bin/bash$ wget -O- https://bit.ly/blikt | /bin/bash
Blikjes zijn ook verkrijgbaar als snap-pakket. Ervan uitgaande dat u snappy (snap-pakketbeheerder) op uw systeem hebt geïnstalleerd, installeer dan Glances snap van Snapcraft. Bekijk Blik op Snapcraft.
$ sudo snap installatie blikken
Glances gebruiken is heel eenvoudig very. 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 -w
Ga naar de volgende URL om toegang te krijgen tot de server:.
$ http://
Voor uitvoer van onbewerkte informatie kan Glances de uitvoer afdrukken naar STDOUT.
$ blikken --stdout cpu.gebruiker, mem.gebruikt, laden
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 blijven. Als u een systeembeheerder bent, biedt het beheersen van top/htop en Glances de meeste flexibiliteit. Als u alleen een snelle update van het verbruik van systeembronnen wilt, 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!