CPULimit este un utilitar Linux oferit pentru a limita utilizarea resurselor unei aplicații. Este util când doriți să împiedicați o singură aplicație să încetinească alte aplicații; sau opriți o aplicație de la utilizarea unui întreg nucleu sau nuclee pentru o perioadă lungă de timp.
Acestea fiind spuse, este posibil ca CPULimit să nu funcționeze cu toate aplicațiile, deoarece (în esență) începe / oprește procesele la intervale pentru a reduce utilizarea procesorului (exprimată ca medie). Acest lucru va fi explicat în secțiunea următoare.
Cum functioneazã?
CPULimit nu este proiectat să funcționeze cu aplicații care, de exemplu, folosesc controlul jobului; deoarece pot fi uciși când CPULimit trimite un SIGSTOPsemnal de oprire ( ). În esență, aplicațiile vor fi activate / dezactivate rapid pentru a limita un program la un număr dorit de cicluri.
Nu vă faceți griji, însă, majoritatea aplicațiilor vor funcționa. Unele aplicații care pot fi limitate includ PHP, Java și Nginx.
Cerințe preliminare
Pentru a instala CPULimit cu succes, va trebui:
- Un server care rulează CentOS 7 (doar sisteme pe 64 de biți).
make, screenși wget.
- Acces rădăcină sau
sudoprivilegii.
Instalarea CPULimit
Presupunând că aveți toate condițiile prealabile instalate, ar trebui să puteți briza prin procesul de instalare. Pentru început, va trebui să descărcați CPULimit și să extrageți tarball:
cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz
Odată ce tarballul termină extragerea, putem intra în directorul nou creat și să începem compilarea CPULimit:
cd cpulimit-2.5
Acum, alergați makepentru a începe compilarea CPULimit într-un binar:
make
După finalizarea acestui proces, veți avea un cpulimit-2.5director binar în director. Pentru a-l face disponibil pe întregul sistem, va trebui să îndeplinim comanda de mai jos:
make install
Poate dura ceva timp până la finalizare.
Configurarea CPULimit cu o aplicație
Pentru a utiliza CPULimit, va trebui să cunoaștem codul procesului. Aceasta este cunoscută sub numele de PID. Folosind topputem vedea o listă a proceselor noastre:
top -c
Veți vedea o listă de procese și ar trebui să arate astfel:
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]
Dacă am dori să limităm plex, de exemplu, ar trebui să luăm notă de PID. În acest caz, este 1336. Dacă dorim să limităm plexla 15% din procesor, trebuie să creăm screenși să executăm cpulimit:
screen -S limitcpu
cpulimit -p 1336 -l 15
Pentru a ieși de pe ecran, utilizați următoarea combinație: CTRL+ A+ D. Pentru a intra pe ecran după ce ieșiți, pur și simplu executați următoarele:
screen -r limitcpu
Formatul general de rulat cpulimitva fi mai jos:
cpulimit -p (PROCESS PID) -l (CPU %)
Notă : PROCESS PIDeste ID-ul procesului și CPU %este limita procesorului.
Dezinstalarea CPULimit
Eliminarea CPULimit este simplă. Efectuați următoarele comenzi:
cd ~/cpulimit-2.5
make deinstall