Når du jobber med et Linux-system, kjører mange prosesser i bakgrunnen. Disse prosessene tar opp systemressurser i form av CPU-bruk og tid.
Mens det i de fleste situasjoner styrer operativsystemet disse prosessene automatisk, noen ganger kan en ressurskrevende prosess bruke CPUen for mye på grunn av tung prosessering eller dårlig utvikling. Svaret er vanligvis å drepe prosessen direkte eller begrense CPU-bruken til en viss grense.
Heldigvis på Linux kan du begrense prosessens CPU-bruk ved hjelp av et kommandolinjeprogram som heter cpulimit.
Hvordan identifisere en prosess med høy CPU-bruk
Før du kan begrense prosentandelen av systemressursene en prosess kan bruke, må du finne prosess-ID-en for den aktuelle prosessen. En prosess-ID (eller PID) er et unikt nummer som systemet ditt bruker for å identifisere en prosess.
På Linux er det flere måter å få detaljert informasjon relatert til prosesser. Du kan bruke topp kommando for å få en liste over prosesser som for øyeblikket kjører på systemet ditt.
topp
Produksjon:
De %PROSESSOR kolonnen viser prosentandelen av CPU prosessen bruker. Hvis datamaskinen din prøver å behandle mer data enn den kan, vil en bestemt prosess ha en CPU-bruk på 100%. Sjekk tabellen for å se om det er noen prosess med høy CPU-bruk.
Når du har funnet prosessen med høy CPU-bruk, noterer du PID-en. Prosess-ID er viktig for å begrense bruken av prosessen.
Begrens CPU-bruk med cpulimit
Som nevnt ovenfor er cpulimit et kommandolinjeverktøy som legger til en grense for mengden systemressurser som brukes av en bestemt prosess på datamaskinen din. Siden de fleste Linux-distribusjoner ikke leveres med forhåndsinstallert cpulimit, må du installere den manuelt.
Du kan installere pakken på Ubuntu og andre Debian-baserte distribusjoner som følger:
sudo apt installere cpulimit
På Arch-baserte distribusjoner som Manjaro Linux:
sudo pacman -S cpulimit
Cpulimit er tilgjengelig på EPEL (Extra Packages for Enterprise Linux) repository. Derfor, for å installere den på CentOS- og RHEL-distribusjoner, må du først aktivere EPEL-depotet.
yum installer epel-release
yum installere cpulimit
Grunnleggende syntaks
For å bruke cpulimit, må du sende ett av følgende tre argumenter med kommandoen:
- -p eller --pid: Prosess-ID for en prosess
- -e eller --exe: Navnet på den kjørbare filen
- -p eller --sti: Absolutt bane til den kjørbare filen
Den grunnleggende syntaksen til kommandoen er:
cpulimit -p pid
cpulimit -e eksekveringsnavn
cpulimit -p / path-to-executable
Begrens CPU-bruken av en prosess
Du kan bruke --grense eller -l flagg til cpulimit-verktøyet for å legge til en grense for ressursene som en prosess kan bruke. For å tvinge en prosess med PID 81550 til å bruke bare 50% av CPU:
sudo cpulimit -p 81550 - begrense 50
Her vil cpulimit begrense CPU-bruken av prosessen så lenge den kjører. Hvis du stopper utførelsen av cpulimit, vil CPU-bruken av den spesifikke prosessen gå tilbake til normal.
En flott løsning for å forhindre dette problemet er å kjøre cpulimit i bakgrunnen. Du kan legge til --bakgrunn eller -b flagg med kommandoen til send kommandoen til bakgrunnen.
sudo cpulimit -p 81550 --grense 50 --bakgrunn
Hvis den --bakgrunn alternativet ikke fungerer, kan du legge til et Ampersand (&) etter kommandoen om å sende den til bakgrunnen.
sudo cpulimit -p 81550 --limit 50 &
Bruk toppkommandoen for å sjekke om den ovennevnte kommandoen fungerer.
Som du kanskje har lagt merke til, er CPU-bruken av dd kommandoen gikk ned til 48,8%.
Drep en prosess ved hjelp av PID
I stedet for å begrense CPU-bruken, kan du slå prosessen helt ned ved å drepe den med --drepe flagg.
sudo cpulimit -p 81550 --begrens 50 - drap
Smartere prosessadministrasjon i Linux
Cpulimit er et flott verktøy hvis du ofte støter på prosesser med høy CPU-bruk. GNOME-brukere som ikke er komfortable med kommandolinjen, kan også bruke System Monitor til å administrere prosesser på systemet deres.
I tillegg til å bruke verktøy som cpulimit, kan du også senke prioriteten på Linux for å gi mindre ressurser til en bestemt prosess. De hyggelig og renice kommandoer er en livredder når det gjelder å administrere prosessprioritet i Linux.
Vil du endre prioriteten til spesifikke prosesser på Linux? Du kan gjøre det enkelt ved å bruke kommandoen nice and renice.
Les Neste
- Linux
- prosessor
- Linux
- Behandling
Deepesh er Junior Editor for Linux på MUO. Han har skrevet informasjonsinnhold på internett i over 3 år. På fritiden liker han å skrive, høre på musikk og spille gitaren.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.