Ograničite korištenje CPU-a procesa u Linuxu pomoću alata CPULimit
U ranijem smo postu objasnili CPUTool za ograničavanje i kontrolu korištenja CPU-a bilo kojeg procesa u Linuxu. Omogućuje administratoru sustava da prekine izvršenje procesa (ili grupe procesa) ako opterećenje procesora/sustava prijeđe definirani 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 mogućnosti upotrebe u usporedbi sa svojim parnjakom. Jedna važna razlika je ta što cpulimit ne upravlja opterećenjem sustava za razliku od cputoola.
Predloženo za čitanje: 9 korisnih naredbi za dobivanje informacija o procesoru na Linuxu
Instalirajte CPULimit da ograničite korištenje CPU-a procesa u Linuxu
CPULimit dostupan je za instalaciju iz zadanih softverskih repozitorija Debian/Ubuntu i njegovih derivata pomoću alata za upravljanje paketima.
sudo apt install cpulimit
U RHEL/CentOS i Fedora prvo trebate omogućiti EPEL repozitorij, a zatim instalirati cpulimit kao što je prikazano.
# yum instalirajte epel-release
# yum instalirajte cpulimit
Ograničavanje upotrebe procesora procesa s CUPLimit
U ovom pododjeljku objasnit ćemo kako cpulimit radi. Prvo, pokrenimo naredbu (ista dd naredba koju smo gledali dok smo pokrivali cputool) koja bi trebala rezultirati visokim CPU postotkom, 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 top ili glances alate koji izlaze stvarno često ažurirano stanje pokrenutog Linux sustava, kako bismo pratili korištenje CPU-a gornje naredbe.
top
Gledajući gornji rezultat, možemo vidjeti da proces dd koristi najveći postotak CPU vremena 100,0%.
Ali to možemo ograničiti pomoću cputlimit na sljedeći način. Opcija --pid
ili -p
koristi se za određivanje PID-a, a --limit
ili -l
je koristi se za postavljanje postotka upotrebe za proces.
Naredba u nastavku ograničit će dd naredbu (PID 17918) na 50% korištenje jedne CPU jezgre.
sudo cpulimit --pid 17918 --limit 50
Process 17918 detected
Nakon što pokrenemo cpulimit, možemo vidjeti trenutnu upotrebu CPU-a za dd naredbu s vrha ili pogledom. Iz izlaza, vrijednost se kreće od (51,5%-55,0% ili malo više).
Možemo prigušiti njegovu upotrebu CPU-a po drugi put na sljedeći način, ovaj put dalje smanjujući postotak na sljedeći način:
sudo cpulimit --pid 17918 --limit 20
Process 17918 detected
Kao što smo radili prije, možemo pregledati vrh ili pogled kako bismo vidjeli novu upotrebu CPU-a za proces, koja će se kretati od 20%-25,0% ili malo više.
top
Napomena: ljuska postaje neinteraktivna – ne očekuje nikakav korisnički unos kada se izvodi cpulimit. Da ga ubijete (što bi trebalo zaustaviti operaciju ograničenja upotrebe CPU-a), pritisnite [Ctrl + C]
.
Da biste pokrenuli cpulimit kao pozadinski proces, upotrijebite prekidač --background
ili -b
, čime ćete osloboditi terminal.
sudo cpulimit --pid 17918 --limit 20 --background
Da biste odredili broj CPU jezgri prisutnih u sustavu, koristite oznaku --cpu
ili -c
(ovo se obično detektira automatski).
sudo cpulimit --pid 17918 --limit 20 --cpu 4
Umjesto da ograničimo upotrebu CPU-a procesa, možemo ga zaustaviti s opcijom --kill
ili -k
. Zadani signal koji se šalje procesu je SIGCONT, ali za slanje drugačijeg signala koristite oznaku --signal
ili -s
.
sudo cpulimit --pid 17918 --limit 20 --kill
Za izlaz 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
Dodatne informacije i mogućnosti korištenja potražite na cpulimit man stranici.
man cpulimit
Provjerite sljedeće korisne vodiče za pronalaženje informacija o procesoru i praćenje performansi procesora/sustava.
- Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu
- Cpustat – Prati korištenje CPU-a pokretanjem procesa u Linuxu
- CoreFreq – Snažan alat za praćenje procesora za Linux sustave
- Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu
- 20 alata naredbenog retka za praćenje performansi Linuxa
- 13 alata za praćenje performansi Linuxa – 2. dio
Za usporedbu, nakon testiranja CPUToola i CPULimit, primijetili smo da prvi nudi učinkovitiju i pouzdaniju funkciju „ograničenja upotrebe CPU-a procesa“.
Ovo je prema rasponu postotaka upotrebe CPU-a uočenog nakon pokretanja oba alata u određenom procesu. Isprobajte oba alata i dodajte svoje mišljenje ovom članku koristeći obrazac za povratne informacije u nastavku.