In het volgende artikel gaan we CPULimit bekijken. Dit is een opdrachtregelprogramma dat beperkt het CPU-gebruik door een proces (uitgedrukt in percentage, niet in CPU-tijd) Dit is handig voor het beheren van batchtaken, wanneer we niet willen dat een proces te veel CPU-cycli verbruikt.
Met het gebruik van deze tool gaan we niet de waarde of andere prioriteitsinstellingen veranderen, maar het daadwerkelijke gebruik van de CPU. Bovendien kan het zich dynamisch en snel aanpassen aan de algemene belasting van het systeem. De controle over de hoeveelheid gebruikte CPU wordt gedaan door te verzenden Señales VOLGENDE HALTE y VOLGENDE POSIX naar processen. Alle onderliggende processen en threads van het opgegeven proces zullen hetzelfde CPU-percentage delen.
Installeer CPULimit
CPULimit is beschikbaar in de meeste standaard opslagplaatsen van Unix-achtige distributies We kunnen het installeren met behulp van de standaard pakketbeheerders in de respectievelijke Gnu / Linux-distributie. Voor het voorliggende voorbeeld zullen we zien hoe u het op Debian, Ubuntu en Linux Mint kunt installeren. We hoeven alleen een terminal te openen (Ctrl + Alt + T) en het volgende commando erin te schrijven:
sudo apt-get install cpulimit
Wie wil kan andere soorten voorzieningen raadplegen in de project GitHub-pagina.
CPULimit gebruiken
Nadat de tool is geïnstalleerd, is het tijd om te zien hoe het werkt. Om dit te doen, gaan we een programma uitvoeren dat veel CPU-bronnen verbruikt. De volgende opdrachten moeten worden uitgevoerd als de rootgebruiker.
Een script maken dat CPU-bronnen verbruikt
Eerst gaan we maak een bestand aan met de naam derrochecpu.sh Ik ga de Vim-redacteur, maar dat iedereen degene gebruikt die ze verkiezen. Vanaf de terminal (Ctrl + Alt + T) zullen we moeten schrijven:
vim derrochecpu.sh
Eenmaal geopend, drukken we op de '-toetsEsc' en toen 'i Nu gaan we de volgende regels toevoegen:
#!/bin/bash while :; do :; done;
Als dit klaar is, is het tijd om op te slaan en af te sluiten. Om dit te doen zullen we op de 'toets drukkenEsc'en we zullen schrijven : wq om het bestand op te slaan en te sluiten. Dit korte script wordt zonder onderbreking herhaald en verbruikt maximaal CPU-gebruik. Daarom is het raadzaam om het op een virtuele machine te testen.
Nu gaan we dit bestand uitvoerbaar maken. Om dit te doen, zullen we vanaf dezelfde terminal (Ctrl + Alt + T) uitvoeren:
chmod +x derrochecpu.sh
Het script starten
Nu starten we het proces op de achtergrond. We zullen dit doen met behulp van het commando:
./derrochecpu.sh &
We gaan de PID van het proces behouden In dit geval is 6472 de PID van het gestarte proces.
Controleren hoeveel CPU het verbruikt
We kunnen zien hoeveel CPU het proces dat we zojuist hebben gestart verbruikt, met behulp van de commando «top» in dezelfde terminal:
top
Zoals te zien is in de bovenstaande schermafbeelding, verbruikt het wastecpu.sh-proces meer dan 96% CPU-gebruik. Omdat het behoorlijk veel CPU-gebruik verbruikt, is het moeilijk om andere taken uit te voeren. Na een paar minuten, het systeem kan vastlopen of vastlopen Dit is waar CPULimt ons te hulp schiet.
CPU-gebruik beperken door PID
Laten we nu het CPU-gebruik van dit proces beperken met behulp van de CPULimit-tool. Wij gaan beperk het CPU-gebruik tot 35% door middel van de bijbehorende PID (ongeveer). Voer hiervoor het volgende uit:
cpulimit -l 35 -p 6472 &
- De optie "-l 35»Beperkt het proces tot ongeveer 35%.
- «-p 6472»Is de PID van derrochecpu.sh die we eerder hebben gezien.
Het effect van CPULimit controleren
Nadat de vorige opdracht is gestart, gaan we het CPU-gebruik van het proces opnieuw controleren. Hiervoor zullen we het bovenste commando opnieuw gebruiken:
top
Zoals je kunt zien in de afbeelding hierboven, is het CPU-gebruik van wastefulcpu.sh gedaald tot 35,6%, wat bijna 35% is. Nu ja we kunnen meer CPU-bronnen hebben om andere processen uit te voeren.
CPU-gebruik beperken door bestandsnaam
We hebben gezien hoe we een proces kunnen beperken met behulp van de PID. Ook we kunnen het CPULimit-commando uitvoeren en de naam van het uitvoerbare programmabestand specificeren.
Hetzelfde voorbeeld hierboven zou bijvoorbeeld zijn:
cpulimit -l 30 ./derrochecpu.sh &
CPULimit kan handig zijn tijdens het uitvoeren van een proces dat te veel CPU-gebruik verbruikt. De volgende keer dat we merken dat een programma te veel CPU verbruikt, zullen we simpelweg de PID van het proces moeten vinden met het commando «top Als je het hebt, hoef je alleen maar je CPU-gebruik te beperken tot een minimumwaarde met behulp van de opdracht CPULimit, zoals beschreven in dit artikel.
Verwijder CPULimit
Het verwijderen van deze tool van ons systeem is net zo eenvoudig als het openen van een terminal (Ctrl + Alt + T) en het typen ervan:
sudo apt remove cpulimit
Wat dit artikel heeft beschreven het is maar een voorbeeld Het is duidelijk dat niemand bij zijn volle verstand een script zoals het hier beschreven script op zijn eigen computer zal starten.
Hi
Het is perfect voor een oude pc die ik heb met een amd64 x2 die een koelprobleem lijkt te hebben en wanneer een proces gedurende enkele minuten veel cpu verbruikt, wordt het verwarmd tot 100º C en wordt het uitgeschakeld.
Dus als ik zie dat een proces (meestal sommige websites of videoweergaveprogramma's) me de temperatuur van de cpu laat verhogen, zal ik cpulimit gebruiken om "stroom" uit dat proces te halen.
bedankt