Kako radi?
Preduvjeti
Instalacija CPULimit
Konfiguriranje CPULimita s aplikacijom
Deinstaliranje CPULimit
CPULimit je uslužni program za Linux koji se nudi za ograničavanje korištenja resursa aplikacije. Korisno je kada želite spriječiti da jedna aplikacija usporava druge aplikacije; ili zaustaviti aplikaciju da koristi cijelu jezgru ili jezgre na dulje vrijeme.
Rekavši to, CPULimit možda neće raditi sa svim aplikacijama jer (u biti) pokreće/zaustavlja procese u intervalima kako bi smanjio korištenje CPU-a (izraženo kao prosjek). To će biti objašnjeno u sljedećem odjeljku.
Kako radi?
CPULimit nije dizajniran za rad s aplikacijama koje, na primjer, koriste kontrolu poslova; jer mogu biti ubijeni kada CPULimit pošalje SIGSTOPsignal za zaustavljanje ( ). U biti, aplikacije će se brzo uključiti/isključiti kako bi se program ograničio na željeni broj ciklusa.
Ipak, ne brinite - većina aplikacija će raditi. Neke aplikacije koje se mogu ograničiti uključuju PHP, Java i Nginx.
Preduvjeti
Da biste uspješno instalirali CPULimit, trebat će vam:
- Poslužitelj koji pokreće CentOS 7 (samo 64-bitni sustavi).
make, screeni wget.
- Root pristup ili
sudoprivilegije.
Instalacija CPULimit
Pod pretpostavkom da imate instalirane sve preduvjete, trebali biste moći proći kroz proces instalacije. Za početak, morat ćete preuzeti CPULimit i izdvojiti tarball:
cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz
Nakon što tarball završi ekstrahiranje, možemo ući u novostvoreni direktorij i početi kompajlirati CPULimit:
cd cpulimit-2.5
Sada pokrenite makeda započnete sa prevođenjem CPULimit-a u binarnu datoteku:
make
Kada se ovaj proces završi, imat ćete binarnu datoteku u cpulimit-2.5direktoriju. Kako bismo ga učinili dostupnim za cijeli sustav, morat ćemo izvesti naredbu u nastavku:
make install
Može potrajati neko vrijeme da se završi.
Konfiguriranje CPULimita s aplikacijom
Da bismo koristili CPULimit, morat ćemo znati ID procesa. Ovo je poznato kao PID. Korištenjem topmožemo vidjeti popis naših procesa:
top -c
Vidjet ćete popis procesa i trebao bi izgledati ovako:
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]
Ako bismo htjeli ograničiti plex, na primjer, morali bismo uzeti u obzir PID. U ovom slučaju, to je 1336. Ako želimo ograničiti plexna 15% CPU-a, moramo kreirati screeni izvršiti cpulimit:
screen -S limitcpu
cpulimit -p 1336 -l 15
Za izlaz iz zaslona koristite sljedeću kombinaciju: CTRL+ A+ D. Za ulazak u zaslon nakon što izađete, jednostavno izvršite sljedeće:
screen -r limitcpu
Opći format za pokretanje cpulimitbit će u nastavku:
cpulimit -p (PROCESS PID) -l (CPU %)
Napomena : PROCESS PIDje ID procesa i CPU %CPU ograničenje.
Deinstaliranje CPULimit
Uklanjanje CPULimita je jednostavno. Izvršite sljedeće naredbe:
cd ~/cpulimit-2.5
make deinstall