Ograničite upotrebu CPU-a procesa u Linuxu pomoću CPULimit alata
U ranijem postu smo objasnili CPUTool za ograničavanje i kontrolu korištenja CPU-a bilo kojeg procesa u Linuxu. Omogućava administratoru sistema da prekine izvršenje procesa (ili grupe procesa) ako opterećenje CPU/sistema prijeđe definisani prag. Ovdje ćemo naučiti kako koristiti sličan alat pod nazivom cpulimit.
Cpulimit se koristi za ograničavanje upotrebe CPU-a procesa na isti način kao CPUTool, međutim, nudi više opcija upotrebe u poređenju sa svojim kolegom. Jedna bitna razlika je u tome što cpulimit ne upravlja opterećenjem sistema za razliku od cputool-a.
Predloženo čitanje: 9 korisnih naredbi za dobivanje informacija o procesoru na Linuxu
Instalirajte CPULimit da biste ograničili korištenje CPU-a procesa u Linuxu
CPULimit je dostupan za instalaciju iz zadanih softverskih spremišta Debian/Ubuntu i njegovih derivata pomoću alata za upravljanje paketima.
sudo apt install cpulimit
U RHEL/CentOS i Fedora, morate prvo omogućiti EPEL spremište, a zatim instalirati cpulimit kao što je prikazano.
# yum instaliraj epel-release
# yum install cpulimit
Ograničavanje upotrebe procesora procesa sa CUPLimitom
U ovom pododjeljku ćemo objasniti kako cpulimit funkcionira. Prvo, pokrenimo naredbu (ista dd naredba koju smo gledali dok smo pokrivali cputool) koja bi trebala rezultirati visokim procentom CPU-a, u pozadini (imajte na umu da se PID procesa ispisuje nakon pokretanja naredbe) .
dd if=/dev/zero of=/dev/null &
[1] 17918
Zatim možemo koristiti alate za vrh ili poglede koji daju stvarno često ažurirano stanje pokrenutog Linux sistema, da bismo gledali korištenje CPU-a gornje naredbe.
top
Gledajući gornji izlaz, možemo vidjeti da dd proces koristi najveći postotak CPU vremena 100,0%.
Ali ovo možemo ograničiti koristeći cputlimit na sljedeći način. Opcija --pid
ili -p
se koristi za specificiranje PID-a i --limit
ili -l
je koristi se za postavljanje postotka korištenja za proces.
Naredba u nastavku će ograničiti dd komandu (PID 17918) na 50% korištenje jednog CPU jezgra.
sudo cpulimit --pid 17918 --limit 50
Process 17918 detected
Kada pokrenemo cpulimit, možemo pogledati trenutnu upotrebu CPU-a za dd komandu s vrha ili pogledom. Iz izlaza, vrijednost se kreće od (51,5%-55,0% ili malo više).
Možemo smanjiti njegovu upotrebu CPU-a po drugi put na sljedeći način, ovaj put dalje snižavajući postotak na sljedeći način:
sudo cpulimit --pid 17918 --limit 20
Process 17918 detected
Kao što smo radili i ranije, možemo pokrenuti vrh ili poglede da vidimo novu upotrebu CPU-a za proces, koja će se kretati od 20%-25,0% ili nešto više od ovoga.
top
Napomena: Shell postaje neinteraktivan – ne očekuje nikakav korisnički unos kada se radi cpulimit. Da biste ga ubili (što bi trebalo zaustaviti operaciju ograničenja upotrebe CPU-a), pritisnite [Ctrl + C]
.
Da pokrenete cpulimit kao pozadinski proces, koristite prekidač --background
ili -b
, oslobađajući terminal.
sudo cpulimit --pid 17918 --limit 20 --background
Da navedete broj CPU jezgara prisutnih na sistemu, koristite oznaku --cpu
ili -c
(ovo se obično detektuje automatski).
sudo cpulimit --pid 17918 --limit 20 --cpu 4
Umjesto da ograničimo korištenje procesora procesa, možemo ga ubiti opcijom --kill
ili -k
. Podrazumevano je da je signal koji se šalje procesu SIGCONT, ali da pošaljete drugačiji signal, koristite oznaku --signal
ili -s
.
sudo cpulimit --pid 17918 --limit 20 --kill
Da biste izašli ako ne postoji odgovarajući ciljni proces, ili u slučaju da umre, uključite -z
ili --lazy
ovako.
sudo cpulimit --pid 17918 --limit 20 --kill --lazy
Za dodatne informacije i opcije upotrebe, pogledajte cpulimit man stranicu.
man cpulimit
Provjerite sljedeće korisne vodiče za pronalaženje informacija o procesoru i praćenje performansi CPU/sistema.
- Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu
- Cpustat – Nadzire korištenje CPU-a pokretanjem procesa u Linuxu
- CoreFreq – Snažan alat za praćenje procesora za Linux sisteme
- Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu
- 20 alata komandne linije za praćenje performansi Linuxa
- 13 Linux alati za praćenje performansi – 2. dio
Poređenja radi, nakon testiranja CPUTool-a i CPULimita, primijetili smo da prvi nudi efikasniju i pouzdaniju funkciju “ograničenja upotrebe CPU-a u procesu”.
Ovo je u skladu sa procentualnim opsegom upotrebe CPU-a koji se posmatra nakon pokretanja oba alata protiv datog procesa. Isprobajte oba alata i dodajte svoje mišljenje u ovaj članak koristeći obrazac za povratne informacije u nastavku.