Heeft u ooit de situatie meegemaakt waarin u een bepaalde toepassing (zoals Firefox) opent en het hele systeem tot stilstand komt? Als u een webserver draait, is het laatste dat u wilt zien dat een toepassing het hele systeem crasht en alle websites naar beneden haalt.

Cpulimit is een toepassing voor Linux die het CPU-gebruik van een proces kan beperken. Het is handig als u wilt dat een bepaalde toepassing te veel CPU-bronnen gebruikt en daardoor het systeem crasht. Dit kan ook handig zijn wanneer u meerdere intensieve programma's gelijktijdig moet uitvoeren.

Opmerking : cpulimit zou voor alle Linux distro moeten werken. In deze tutorial gebruiken we Ubuntu ter illustratie.

Installatie

In Ubuntu kun je cpulimit installeren via het Ubuntu Software Center, klik hier om te installeren of typ de volgende opdracht in terminal:

 sudo apt-get install cpulimit 

Gebruik

Gebruik de opdracht om een ​​proces te beperken

 sudo cpulimit -p PID -l CPU% 

De PID is de proces-id van de actieve toepassing en CPU% is het percentage (0-100, alleen aantal) CPU-bronnen dat is toegestaan ​​voor de app. U kunt de PID verkrijgen via Systeem -> Beheer -> Systeemmonitor .

Uit de bovenstaande schermafbeelding kunt u zien dat de Swiftfox-toepassing (een variant van Firefox) 68% van de CPU-bronnen in beslag neemt voordat de CPU-limiet is ingesteld. Laten we eens kijken wat er gebeurt als we het CPU-gebruik beperken tot 20%.

De% CPU daalt onmiddellijk onder de 20% en is nooit meer 20% overschreden.

Cpulimit uitbreiden - Het hele proces automatiseren

Cpulimit is handig wanneer u een toepassing tegenkomt die veel CPU-bronnen in beslag neemt of die een batchtaak moet uitvoeren. Bovendien kunt u het ook instellen om het systeem te controleren op elke toepassing die zich niet goed gedraagt. Dit is vooral handig bij het instellen van een server.

abcuser van Ubuntu Forum heeft een geweldig script bedacht dat de bewaking van uw systeem automatiseert en elk proces beperkt dat een vooraf ingestelde CPU-limiet overschrijdt. Met het script kunt u ook een zwarte lijst / whitelist instellen voor specifieke toepassingen.

Voordat we beginnen, moet je cpulimit en gawk geïnstalleerd hebben.

 sudo apt-get installeren cpulimit gawk 

Download de scripts hier. Pak het tar-bestand uit in je thuismap. U moet twee bestanden in de map cpulimit hebben : cpulimit_daemon.sh en cpulimit .

Open het bestand cpulimit_daemon.sh in uw teksteditor (gEdit) en wijzig het volgende:

CPU_LIMIT : dit zijn de maximale CPU-bronnen die beschikbaar zijn voor elke toepassing. De standaardwaarde is 20%.

DAEMON_INTERVAL : Dit is het interval voor het script om het systeem te controleren. De standaardinstelling is ingesteld op 3 seconden.

BLACK_PROCESS_LIST : dit bevat de lijst met items die specifiek willen controleren. U kunt het scheidingsteken "|" gebruiken om meerdere processen op te nemen. Bijvoorbeeld " mysql|firefox|gedit ".

WHITE_PROCESSES_LIST : deze bevat de lijst met items die u NIET WILT controleren. U kunt het scheidingsteken "|" gebruiken om meerdere processen op te nemen. Bijvoorbeeld " mysql|firefox|gedit ".

Opmerking : een of beide variabelen BLACK_PROCESSES_LIST en WHITE_PROCESSES_LIST moeten leeg zijn. Je kunt niet tegelijkertijd een zwarte lijst en een witte lijst hebben.

Opzetten

Kopieer het bestand cpulimit_daemon.sh naar de map / usr / bin /

 sudo cp ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh 

Kopieer het bestand cpulimit naar /etc/init.d/folder, stel de benodigde rechten in en laat het uitvoeren tijdens de statup.

 sudo cp ~ / cpulimit / cpulimit /etc/init.d/ sudo chown root: root /etc/init.d/cpulimit sudo chmod + x /etc/init.d/cpulimit sudo update-rc.d cpulimit standaardinstellingen 

Start nu je systeem opnieuw op. De cpulimit-daemon zou automatisch moeten starten.

U kunt een terminal openen en typen:

 sudo service cpulimit-status 

om te controleren of de cpulimit daemon actief is. Als het niet actief is, start u het met de opdracht

 sudo service cpulimit start 

Of stop het met:

 sudo service cpulimit stop 

verwijderen

Om de installatie ongedaan te maken, moet u het volgende doen:

1. Stop cpulimit daemon

 sudo service cpulimit stop # Stop cpulimit daemon en alle gecivilimeerde processen 

2. Verwijder de daemon uit de opstartprocedure

 sudo update-rc.d -f cpulimit remove # Symbolische koppelingen verwijderen 

3. Verwijder de opstartprocedure

 sudo rm /etc/init.d/cpulimit # Cpulimit opstartscript verwijderen 

4. Verwijder cpulimit daemon

 sudo rm /usr/bin/cpulimit_daemon.sh # Verwijder cpulimit daemon script 

5. Verwijder het cpulimit-programma

 sudo apt-get cpulimit verwijderen 

Optioneel, verwijder gawk-programma

 sudo apt-get remove gawk 

Raadpleeg voor meer informatie het Ubuntu-forum voor meer informatie.

Codetegoed : abcuser van Ubuntu Forum