Hvordan virker det?
Forutsetninger
Installerer CPULimit
Konfigurere CPULimit med en applikasjon
Avinstallerer CPULimit
CPULimit er et Linux-verktøy som tilbys for å begrense en applikasjons ressursbruk. Det er nyttig når du vil forhindre at en enkelt applikasjon bremser andre applikasjoner; eller stoppe en applikasjon fra å bruke en hel eller flere kjerner i en lengre periode.
Når det er sagt, kan det hende at CPULimit ikke fungerer med alle applikasjoner da det (i hovedsak) starter/stopper prosesser med intervaller for å få CPU-bruken (uttrykt som et gjennomsnitt) ned. Dette vil bli forklart i neste avsnitt.
Hvordan virker det?
CPULimit er ikke laget for å fungere med applikasjoner som for eksempel bruker jobbkontroll; da de kan bli drept når CPULimit sender et stoppsignal ( SIGSTOP). I hovedsak vil applikasjoner slås på/av raskt for å begrense et program til et ønsket antall sykluser.
Men ikke bekymre deg - de fleste applikasjoner vil fungere. Noen programmer som kan begrenses inkluderer PHP, Java og Nginx.
Forutsetninger
For å installere CPULimit vellykket, trenger du:
- En server som kjører CentOS 7 (kun 64-bits systemer).
make, screenog wget.
- Rottilgang eller
sudoprivilegier.
Installerer CPULimit
Forutsatt at du har alle forutsetningene installert, bør du være i stand til å komme deg gjennom installasjonsprosessen. For å begynne må du laste ned CPULimit og pakke ut tarballen:
cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz
Når tarballen er ferdig med å pakke ut, kan vi gå inn i den nyopprettede katalogen og begynne å kompilere CPULimit:
cd cpulimit-2.5
Kjør nå for makeå begynne å kompilere CPULimit til en binær:
make
Når denne prosessen er fullført, vil du ha en binær i cpulimit-2.5katalogen. For å gjøre det tilgjengelig for hele systemet, må vi utføre kommandoen nedenfor:
make install
Det kan ta litt tid å fullføre.
Konfigurere CPULimit med en applikasjon
For å bruke CPULimit, må vi kjenne til prosess-ID. Dette er kjent som PID. Ved å bruke kan topvi se en liste over våre prosesser:
top -c
Du vil se en liste over prosesser og den skal se slik ut:
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3881740 total, 191952 free, 413472 used, 3276316 buff/cache
KiB Swap: 4063228 total, 4062912 free, 316 used. 2881364 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1336 plex 35 15 1368172 67464 6668 S 0.3 1.7 155:41.58 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-995f1dead+
31345 root 20 0 326572 21844 12784 S 0.3 0.6 86:45.32 docker-containerd --config /var/run/docker/containerd/containerd.toml
1 root 20 0 193704 6744 4088 S 0.0 0.2 6:49.22 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
2 root 20 0 0 0 0 S 0.0 0.0 0:01.45 [kthreadd]
3 root 20 0 0 0 0 S 0.0 0.0 0:12.77 [ksoftirqd/0]
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H]
7 root rt 0 0 0 0 S 0.0 0.0 0:13.95 [migration/0]
Hvis vi ønsker å begrense plex, for eksempel, må vi notere oss PID. I dette tilfellet er det 1336. Hvis vi vil begrense plextil 15% av CPU, må vi lage en screenog kjøre cpulimit:
screen -S limitcpu
cpulimit -p 1336 -l 15
For å gå ut av skjermen, bruk følgende kombinasjon: CTRL+ A+ D. For å gå inn på skjermen når du avslutter, utfør ganske enkelt følgende:
screen -r limitcpu
Det generelle formatet som skal kjøres cpulimitvil være nedenfor:
cpulimit -p (PROCESS PID) -l (CPU %)
Merk : PROCESS PIDer prosess-IDen og CPU %er CPU-grensen.
Avinstallerer CPULimit
Det er enkelt å fjerne CPULimit. Utfør følgende kommandoer:
cd ~/cpulimit-2.5
make deinstall