Slik begrenser du CPU-bruk av hvilken som helst prosess i Linux
Har du noen gang opplevd situasjonen der du åpner en bestemt applikasjon (for eksempel Firefox), og det bringer hele systemet til stillestilling? Hvis du kjører en webserver, er det siste som du vil se, å få et program å krasje hele systemet og bringe alle nettstedene ned.
Cpulimit er et program for Linux som kan begrense CPU-bruken av en prosess. Det er nyttig hvis du vil begrense et bestemt program fra å ta opp for mye CPU ressurser og dermed krasje systemet. Dette kan også være nyttig når du trenger å kjøre flere intensive programmer samtidig.
Merk : cpulimit skal fungere for alle Linux distro. I denne opplæringen bruker vi Ubuntu til illustrasjon.
Installasjon
I Ubuntu kan du installere cpulimit via Ubuntu Software Center, klikk her for å installere, eller skriv følgende kommando i terminal:
sudo apt-get install cpulimit
bruk
For å begrense en prosess, bruk kommandoen
sudo cpulimit -p PID-1 CPU%
PID er prosess-ID for det kjørende programmet og CPU% er prosentandelen (0-100, kun tall) av CPU-ressurser tillatt for appen. Du kan skaffe PID fra System -> Administration -> System Monitor .
Fra skjermbildet ovenfor kan du se at Swiftfox-programmet (en variant av Firefox) tar opp 68% av CPU-ressursene før CPU-grensen er angitt. La oss se hva som skjer når vi begrenser CPU-bruken til 20%.
% CPU faller umiddelbart under 20% og har aldri krysset 20% -merket igjen.
Utvide cpulimit - Automatiserer hele prosessen
Cpulimit er nyttig når du støter på et program som tar opp mye CPU ressurser, eller trenger å utføre batch jobb. I tillegg kan du også sette opp det for å overvåke systemet for eventuelle misbehavende applikasjoner. Dette er spesielt nyttig i et serveroppsett.
abcuser fra Ubuntu Forum har kommet opp med et flott skript som automatiserer overvåkingen av systemet ditt og begrenser en prosess som overstiger en forhåndsinnstilt CPU-grense. Skriptet lar deg også sette svarteliste / hviteliste for bestemte applikasjoner.
Før vi starter, må du sørge for at du har installert og installert gawk .
sudo apt-get install cpulimit gawk
Last ned skriptene her. Trekk tjærefilen til hjemmemappen. Du bør ha to filer inne i cpulimit-mappen: cpulimit_daemon.sh og cpulimit .
Åpne filen cpulimit_daemon.sh i tekstredigeringsprogrammet (gEdit) og endre følgende:
CPU_LIMIT : Dette er maksimal CPU-ressurser tilgjengelig for hver applikasjon. Standardverdien er 20%.
DAEMON_INTERVAL : Dette er intervallet for scriptet for å sjekke systemet. Standardinnstillingen er satt til 3 sekunder.
BLACK_PROCESS_LIST : Dette inneholder listen over elementer som spesielt vil overvåke. Du kan bruke "|" -begrensningen til å inkludere flere prosesser. For eksempel, " mysql|firefox|gedit
".
WHITE_PROCESSES_LIST : Dette inneholder listen over elementer som du IKKE vil overvåke. Du kan bruke "|" -begrensningen til å inkludere flere prosesser. For eksempel, " mysql|firefox|gedit
".
Merk : En eller begge variablene BLACK_PROCESSES_LIST og WHITE_PROCESSES_LIST må være tomme. Du kan ikke ha en svarteliste og en hviteliste på samme tid.
Setter opp
Kopier filen cpulimit_daemon.sh til / usr / bin / mappen
sudo cp ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh
Kopier cpulimit- filen til /etc/init.d/folder, sett den nødvendige tillatelsen og gjør den kjørt 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 oppdatering-rc.d cpulimit defaults
Nå, start systemet på nytt. Cpulimit-demonen skal starte automatisk.
Du kan åpne en terminal og skrive:
sudo service cpulimit status
for å sjekke om cpulimit-demonen kjører. Hvis det ikke kjører, start det med kommandoen
sudo service cpulimit start
Alternativt, stopp det med:
sudo service cpulimit stopp
Avinstallere
For å avinstallere, her er hva du trenger å gjøre:
1. Stopp cpulimit daemon
sudo service cpulimit stop # Stopp cpulimit daemon og alle cpulimited prosesser
2. Fjern demon fra oppstartsprosedyren
sudo update-rc.d -f cpulimit fjern # Fjern symbolske lenker
3. Slett oppstartsprosedyren
sudo rm /etc/init.d/cpulimit # Slett cpulimit oppstartskript
4. Slett cpulimit daemon
sudo rm /usr/bin/cpulimit_daemon.sh # Slett cpulimit demon script
5. Avinstaller cpulimit-programmet
sudo apt-get fjerne cpulimit
Eventuelt avinstaller gawk-programmet
sudo apt-get fjerne gawk
For mer informasjon, se Ubuntu Forum for mer detaljer.
Kodekreditt : abcuser fra Ubuntu Forum