CPU-prestaties zijn een aspect van het meten van de prestaties van een systeem. Het monitoren van de prestaties van de CPU is essentieel om processen binnen elk systeem te debuggen, systeembronnen te beheren, systeembeslissingen te nemen en systemen in realtime te evalueren en te onderzoeken.
Er zijn veel tools beschikbaar om te monitoren en weer te geven CPU-prestaties. Besturingssystemen hebben ingebouwde systeemaanroepen waarop deze tools vertrouwen om de prestatiewaarden te extraheren.
In deze tutorial zullen we de beste tool voor het monitoren van CPU-gebruik en het gebruik ervan in Linux-distributies onderzoeken.
1) Top
Het bovenste commando toont real-time weergave van prestatiegerelateerde gegevens van alle lopende processen in een systeem. Standaard werkt het bovenste commando de gegevens elke 5 seconden bij. Typ “top” in de terminal om de statistische gegevens te bekijken die betrekking hebben op de prestaties van een systeem.
# top
Om de uitvoer van het top-commando te wijzigen, drukt u op:
“P” om te sorteren op CPU-gebruik.
“I” om de inactieve processen van het scherm te verwijderen en terug te keren, druk nogmaals op “I”.
“M” om de gegevens te sorteren op geheugengebruik.
“S” om te sorteren op hoelang de processen actief zijn, type.
“P” om te sorteren op CPU-gebruik.
“U” om processen te bekijken die eigendom zijn van een specifieke gebruiker.
“K” om processen te doden.
“R” om processen te hernoemen.
2) Iostat
Het iostat-commando geeft een overzicht van het CPU-gebruik, het apparaatgebruik en het gebruik van het netwerkbestandssysteem. Dit hulpprogramma geeft het gemiddelde CPU-gebruik van het systeem weer sinds de laatste keer opnieuw opstarten. Als u de volgende opdracht uitvoert zonder enige optie, worden alle drie de rapporten weergegeven.
# iostat
Om het individuele rapport weer te geven, gebruikt u de -c, -d en -h schakelaar voor CPU-gebruik , apparaatgebruik en netwerkbestandssysteemgebruik. De volgende opdracht verdeelt het CPU-gebruik in gebruikersprocessen, systeemprocessen, I / O-wachttijd en inactieve tijd.
# iostat -c
De volgende opdracht geeft uitgebreide statistieken weer ( -x), het aantal keren (-t) dat elk rapport moet worden weergegeven voor CPU-gebruik (-c).
# iostat -xtc 5 2
3) Vmstat
Het vmstat-commando geeft statistieken weer over systeemprocessen, geheugen, swap, I / O en de CPU-prestaties. Voor het weergeven van statistieken worden de gegevens verzameld vanaf de laatste keer dat de opdracht werd uitgevoerd tot heden. In het geval dat de opdracht nooit wordt uitgevoerd, zijn de gegevens van de laatste herstart tot de huidige tijd.
Op systemen met meerdere CPU’s, berekent vmstat het gemiddelde van het aantal CPU’s in de uitvoer. Het vmstat-commando werkt zijn uitvoer bij zoals het top-commando.
Het volgende commando zal zijn rapport elke 5 seconden bijwerken totdat er een onderbreking is.
# vmstat 5
De volgende opdracht geeft de gegevens weer die elke 5 seconden worden bijgewerkt en de waarden worden elke seconde opnieuw gemeten en gerapporteerd.
# vmstat 1 5
De eerste regel drukt de gemiddelde waarden af sinds de laatste keer dat de computer opnieuw werd opgestart. De rest van de regels zullen hun respectievelijke huidige waarden weergeven. Een normale gebruiker kan het vmstat-commando uitvoeren.
4) Mpstat
Mpstat maakt deel uit van het sysstat-pakket in Linux. Het mpstat-commando schrijft naar de standaarduitvoer over activiteiten voor elke beschikbare processor, waarbij processor 0 de eerste is. Als er geen activiteit is geselecteerd, is het standaardrapport het CPU-gebruiksrapport.
mpstat zonder enige optie geeft de globale gemiddelde activiteiten van alle CPU’s weer.
# mpstat
mpstat met -p optie en “ALL” zal statistieken over alle CPU’s een voor een weergeven, beginnend bij 0.
# mpstat -P ALL
Het volgende commando zal geef 4 keer het gemiddelde CPU-gebruik weer, elk na 2 seconden.
# mpstat -P ALL 2 4
5) Sar
De sar is een prestatiebewakingsprogramma voor verzamelen, bekijken en opnemen van prestatiegegevens en kunnen aangeven wat een systeem de hele tijd doet. Het Sar-commando kan een rapport genereren en deze naar de systeembeheerder e-mailen. De statistieken die door sar worden gerapporteerd, omvatten onder meer I / O-overdrachtssnelheden, paging-activiteit, procesgerelateerde activiteiten, interrupts, netwerkactiviteit, gebruik van geheugen en swapruimte, CPU-gebruik, kernelactiviteiten en TTY-statistieken. Voer sar uit zonder enige optie en controleer de uitvoer. De standaard uitvoerlijststatistieken voor elke 10 minuten en een definitief gemiddelde.
# sar
Geef CPU-statistieken 3 keer weer met een interval van 2 seconden.
# sar 2 3
De volgende opdracht geeft het cumulatieve real-time CPU-gebruik van alle CPU’s weer voor elke 2 seconden in totaal 3 keer.
# sar -u 2 3
De “-P ALL” optie geeft statistieken weer voor ALLE individuele Cores. Als uw systeem 4 cores heeft, bevat de “CPU-kolom” het nummer 0, 1, 2, 3, wat de corresponderende CPU-kernnummers aangeeft.De optie “2 3” geeft de statistieken elke 2 seconden 3 keer weer.
# sar -P ALL 2 3
De optie “-P 2” geeft elke 2 seconden statistieken weer voor de derde kern voor 3 keer.
# sar -P 2 2 3
6) CoreFreq
CoreFreq is een CPU-prestatiebewakingssoftware ontworpen voor 64-bits processors met Intel-architecturen Atom, Core2, Nehalem, SandyBridge en superieur, AMD Family. De CoreFreq biedt een raamwerk voor het ophalen van CPU-gegevens met een hoge mate van precisie. De kernelmodule, daemon en userland command-line interface (CLI) zijn de drie delen van Corefreq. De kernelmodule heeft volledige toegang tot de host. Het is zijn verantwoordelijkheid om de gegevens op laag niveau te verzamelen. De userland-daemon verzamelt de gegevens. Je zou root-gebruiker moeten zijn om de daemon te draaien. Ten slotte wordt CoreFreq geleverd met een terminalinterface om gegevens te rapporteren in een mooi door mensen leesbaar formaat. Die CLI-tool is een gewoon proces en kan door de eindgebruiker worden gebruikt.
Voorwaarde
i) CoreFreq gebruikt de low-level-teller en daarom moet u eerst de NMI-watchdog uitschakelen via / etc / default / grub. Bewerk / etc / default / grub en voeg het “nmi_watchdog = 0” kernel-opdrachtregelargument toe en voer vervolgens update-grub uit.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Geen virtualisatie. VM’s bieden geen toegang tot de registers die de CoreFreq-driver gebruikt.
Installeer CoreFreq
Installeer de kernelmodule met insmod
# sudo insmod corefreqk.ko
Maak een lijst van de CoreFreq-module met lsmod
# lsmod | grep corefreq corefreqk 49152 0
De uitvoer van het dmesg-commando laat zien dat CoreFreq is herkend door de processor.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Start de CoreFreq daemon
# sudo ./corefreqd
read more