Sådan begrænser du CPU-brugen af enhver proces i Linux
Har du nogensinde oplevet situationen, hvor du åbner en bestemt applikation (som Firefox), og det bringer hele systemet i stå? Hvis du kører en webserver, er det sidste, du vil se, at få et program nedbrud hele systemet og bringe alle hjemmesider ned.
Cpulimit er en applikation til Linux, der kan begrænse CPU-brugen af en proces. Det er nyttigt, hvis du ønsker at begrænse en bestemt applikation fra at indtage for meget CPU ressourcer og dermed kolliderer systemet. Dette kan også være nyttigt, når du skal køre flere intensive programmer samtidigt.
Bemærk : cpulimit skal fungere for alle Linux distro. I denne vejledning bruger vi Ubuntu til illustration.
Installation
I Ubuntu kan du installere cpulimit via Ubuntu Software Center, klik her for at installere, eller skriv følgende kommando i terminal:
sudo apt-get install cpulimit
Anvendelse
For at begrænse en proces skal du bruge kommandoen
sudo cpulimit -p PID-1 CPU%
PID'en er proces-id'et for den kørende applikation, og CPU% er procentdelen (kun 0-100, antal) af CPU-ressourcer, der er tilladt for appen. Du kan få PID fra System -> Administration -> System Monitor .
Fra ovenstående skærmbillede kan du se, at Swiftfox-programmet (en variant af Firefox) optager 68% af CPU-ressourcerne, før CPU-grænsen er indstillet. Lad os se, hvad der sker, når vi begrænser CPU-brugen til 20%.
% CPU falder øjeblikkeligt under 20% og overskred aldrig 20% mærket igen.
Udvidelse af cpulimit - Automatisering af hele processen
Cpulimit er nyttigt, når du støder på et program, der optager mange CPU ressourcer, eller skal udføre batch job. Derudover kan du også indstille det til at overvåge systemet for enhver fejlbehæftet applikation. Dette er især nyttigt i en serveropsætning.
abcuser fra Ubuntu Forum er kommet med et godt script, der automatiserer overvågningen af dit system og begrænser enhver proces, der overstiger en forudindstillet CPU-grænse. Scriptet giver dig også mulighed for at indstille sortliste / hvidliste til bestemte applikationer.
Før du starter, skal du sørge for at du har installeret og installeret gawk .
sudo apt-get install cpulimit gawk
Download scripts her. Udpak tjærefilen til din Hjemmemappe. Du skal have to filer inde i cpulimit-mappen: cpulimit_daemon.sh og cpulimit .
Åbn filen cpulimit_daemon.sh i dit tekstredigeringsprogram (gEdit), og ændrer følgende:
CPU_LIMIT : Dette er de maksimale CPU-ressourcer, der er tilgængelige for hver applikation. Standardværdien er 20%.
DAEMON_INTERVAL : Dette er intervallet for scriptet for at kontrollere systemet. Standardindstillingen er indstillet til 3 sekunder.
BLACK_PROCESS_LIST : Dette indeholder listen over elementer, der specifikt vil overvåge. Du kan bruge "|" afgrænseren til at inkludere flere processer. For eksempel " mysql|firefox|gedit
".
WHITE_PROCESSES_LIST : Dette indeholder listen over elementer, som du IKKE vil overvåge. Du kan bruge "|" afgrænseren til at inkludere flere processer. For eksempel " mysql|firefox|gedit
".
Bemærk : En eller begge variablerne BLACK_PROCESSES_LIST og WHITE_PROCESSES_LIST skal være tomme. Du kan ikke have en sortliste og en hvidliste på samme tid.
Sætte op
Kopier filen cpulimit_daemon.sh til / usr / bin / folder
sudo cp ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh
Kopier cpulimit- filen til /etc/init.d/folder, angiv den nødvendige tilladelse og lad den køre 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 opdatering-rc.d cpulimit standardindstillinger
Genstart nu dit system. Cpulimit-dæmonen skal starte automatisk.
Du kan åbne en terminal og skrive:
sudo service cpulimit status
at kontrollere om cpulimit-dæmonen kører. Hvis det ikke kører, skal du starte det med kommandoen
sudo service cpulimit start
Alternativt kan du stoppe med:
sudo service cpulimit stop
Afinstallation
For at afinstallere, er her hvad du skal gøre:
1. Stop cpulimit daemon
sudo service cpulimit stop # Stop cpulimit daemon og alle cpulimited processer
2. Fjern dæmon fra opstartsproceduren
sudo update-rc.d -f cpulimit fjern # Fjern symbolske links
3. Slet opstartsproceduren
sudo rm /etc/init.d/cpulimit # Slet cpulimit boot-up script
4. Slet cpulimit daemon
sudo rm /usr/bin/cpulimit_daemon.sh # Slet cpulimit daemon script
5. Afinstaller cpulimit-programmet
sudo apt-get fjerne cpulimit
Eventuelt afinstaller gawk program
sudo apt-get fjerne gawk
For mere information henvises til Ubuntu Forum for yderligere detaljer.
Kode kredit: abcuser fra Ubuntu Forum