Како то функционише?
Предуслови
Инсталирање ЦПУЛимит
Конфигурисање ЦПУЛимит-а са апликацијом
Деинсталирање ЦПУЛимит-а
ЦПУЛимит је Линук услужни програм који се нуди да ограничи употребу ресурса апликације. Корисно је када желите да спречите да једна апликација успорава друге апликације; или зауставите апликацију да користи цело језгро или језгра на дужи временски период.
Узимајући то у обзир, ЦПУЛимит можда неће радити са свим апликацијама јер (у суштини) покреће/зауставља процесе у интервалима како би смањио употребу ЦПУ-а (изражено као просек). Ово ће бити објашњено у следећем одељку.
Како то функционише?
ЦПУЛимит није дизајниран да ради са апликацијама које, на пример, користе контролу послова; јер могу бити убијени када ЦПУЛимит пошаље SIGSTOPсигнал за заустављање ( ). У суштини, апликације ће се брзо укључити/искључити како би се програм ограничио на жељени број циклуса.
Ипак, не брините - већина апликација ће радити. Неке апликације које се могу ограничити укључују ПХП, Јава и Нгинк.
Предуслови
Да бисте успешно инсталирали ЦПУЛимит, требаће вам:
- Сервер који покреће ЦентОС 7 (само 64-битни системи).
make, screenи wget.
- Роот приступ или
sudoпривилегије.
Инсталирање ЦПУЛимит
Под претпоставком да имате инсталиране све предуслове, требало би да будете у могућности да прођете кроз процес инсталације. За почетак, мораћете да преузмете ЦПУЛимит и извучете тарбалл:
cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz
Када тарбалл заврши распакивање, можемо да уђемо у новокреирани директоријум и почнемо са компајлирањем ЦПУЛимит-а:
cd cpulimit-2.5
Сада покрените makeда бисте започели компајлирање ЦПУЛимит-а у бинарну датотеку:
make
Када се овај процес заврши, имаћете бинарну датотеку у cpulimit-2.5директоријуму. Да бисмо га учинили доступним широм система, мораћемо да извршимо наредбу у наставку:
make install
Може потрајати неко време да се заврши.
Конфигурисање ЦПУЛимит-а са апликацијом
Да бисмо користили ЦПУЛимит, мораћемо да знамо ИД процеса. Ово је познато као PID. Коришћењем topможемо видети листу наших процеса:
top -c
Видећете листу процеса и требало би да изгледа овако:
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]
Ако желимо да ограничимо plex, на пример, морали бисмо да узмемо у обзир ПИД. У овом случају је 1336. Ако желимо да ограничимо plexна 15% ЦПУ-а, морамо да креирамо screenи извршимо cpulimit:
screen -S limitcpu
cpulimit -p 1336 -l 15
Да бисте изашли са екрана, користите следећу комбинацију: CTRL+ A+ D. Да бисте ушли на екран када изађете, једноставно извршите следеће:
screen -r limitcpu
Општи формат за покретање cpulimitбиће у наставку:
cpulimit -p (PROCESS PID) -l (CPU %)
Напомена : PROCESS PIDје ИД процеса и CPU %ЦПУ ограничење.
Деинсталирање ЦПУЛимит-а
Уклањање ЦПУЛимит-а је једноставно. Извршите следеће команде:
cd ~/cpulimit-2.5
make deinstall