Har du någonsin upplevt situationen där du öppnar en viss applikation (som Firefox) och det stannar hela systemet? Om du kör en webbserver är det sista som du vill se att ha ett program kraschar hela systemet och ta ner alla webbplatser.

Cpulimit är en applikation för Linux som kan begränsa CPU-användningen av en process. Det är användbart om du vill begränsa en viss applikation från att ta upp för mycket CPU-resurser och därmed krascha systemet. Detta kan också vara användbart när du behöver köra flera intensiva program samtidigt.

Obs! Cpulimit ska fungera för alla Linux distro. I denna handledning använder vi Ubuntu för illustration.

Installation

I Ubuntu kan du installera cpulimit via Ubuntu Software Center, klicka här för att installera, eller skriv följande kommando i terminal:

 sudo apt-get install cpulimit 

Användande

Använd kommandot för att begränsa en process

 sudo cpulimit -p PID-1 CPU% 

PID är process-ID för den pågående applikationen och CPU% är procentandelen (endast 0-100, antal) av CPU-resurser som tillåts för appen. Du kan få PID från System -> Administration -> System Monitor .

Från skärmdumpen ovan kan du se att Swiftfox-programmet (en variant av Firefox) tar upp 68% av CPU-resurserna innan CPU-gränsen är inställd. Låt oss se vad som händer när vi begränsar CPU-användningen till 20%.

% CPU faller omedelbart under 20% och överskred aldrig 20% ​​-markeringen igen.

Utöka cpulimit - Automatiserar hela processen

Cpulimit är användbart när du stöter på en applikation som tar upp mycket CPU-resurser, eller behöver utföra batchjobb. Dessutom kan du också ställa in det för att övervaka systemet för eventuella felaktiga applikationer. Detta är särskilt användbart vid en serverinställning.

abcuser från Ubuntu Forum har kommit med ett bra skript som automatiserar övervakningen av ditt system och begränsar alla processer som överstiger en förinställd CPU-gräns. I skriptet kan du också ställa in svartlista / vitlista för specifika applikationer.

Innan vi börjar, se till att du har cpulimit och gawk installerat.

 sudo apt-get install cpulimit gawk 

Ladda ner skript här. Extrahera tjärfilen till din hemmapp. Du borde ha två filer i mappen cpulimit : cpulimit_daemon.sh och cpulimit .

Öppna filen cpulimit_daemon.sh i din textredigerare (gEdit) och ändra följande:

CPU_LIMIT : Det här är de högsta CPU-resurserna som är tillgängliga för varje applikation. Standardvärdet är 20%.

DAEMON_INTERVAL : Detta är intervallet för manuset för att kontrollera systemet. Standardinställningen är inställd på 3 sekunder.

BLACK_PROCESS_LIST : Det här innehåller listan över objekt som specifikt vill övervaka. Du kan använda "|" avgränsaren för att inkludera flera processer. Till exempel " mysql|firefox|gedit ".

WHITE_PROCESSES_LIST : Det här innehåller listan över objekt som du inte vill övervaka. Du kan använda "|" avgränsaren för att inkludera flera processer. Till exempel " mysql|firefox|gedit ".

Obs! En eller båda variablerna BLACK_PROCESSES_LIST och WHITE_PROCESSES_LIST måste vara tomma. Du kan inte ha en svartlista och en vitlista samtidigt.

Inställning

Kopiera filen cpulimit_daemon.sh till / usr / bin / folder

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

Kopiera cpulimit- filen till /etc/init.d/folder, ställ in det nödvändiga tillståndet och få det att köras under statup.

 sudo cp ~ / cpulimit / cpulimit /etc/init.d/ sudo chown root: root /etc/init.d/cpulimit sudo chmod + x /etc/init.d/cpulimit sudo uppdatering-rc.d cpulimit standardinställningar 

Nu starta om systemet. Cpulimit-demonen bör startas automatiskt.

Du kan öppna en terminal och typ:

 sudo service cpulimit status 

för att kontrollera om cpulimit-demonen körs. Om det inte körs, starta det med kommandot

 sudo service cpulimit start 

Alternativt, stoppa det med:

 sudo service cpulimit stopp 

Avinstallera

För att avinstallera, här är vad du behöver göra:

1. Stopp cpulimit daemon

 sudo service cpulimit stop # Stopp cpulimit daemon och alla cpulimited processer 

2. Ta bort demon från uppstartsproceduren

 sudo update-rc.d -f cpulimit ta bort # Ta bort symboliska länkar 

3. Ta bort startproceduren

 sudo rm /etc/init.d/cpulimit # Ta bort cpulimit boot-up script 

4. Ta bort cpulimit-demonen

 sudo rm /usr/bin/cpulimit_daemon.sh # Ta bort cpulimit demon script 

5. Avinstallera cpulimit-programmet

 sudo apt-get bort cpulimit 

Avinstallera gawkprogrammet eventuellt

 sudo apt-få bort gawk 

För mer information, se Ubuntu Forum för mer detaljer.

Kodkredit : abcuser från Ubuntu Forum