CPUTool - Ograničite i kontrolirajte CPU iskorištenost bilo kojeg procesa u Linuxu
Jedno od kritičnih područja pod nadzorom performansi Linuxa mora biti upotreba CPU-a i opterećenje sustava. Postoji nekoliko alata za praćenje performansi Linuxa pomoću kojih možete pratiti kako se stvari odvijaju u sustavu.
Brojni od ovih alata jednostavno prikazuju stanje/statistiku sustava, dok vam neki drugi pružaju sredstva za upravljanje performansama sustava. Jedan takav alat zove se CPUTool.
CPUTool je jednostavan, ali moćan alat naredbenog retka za ograničavanje i kontrolu korištenja CPU-a bilo kojeg procesa do zadane granice i dopušta prekid izvršenja procesa ako opterećenje sustava prijeđe definirani prag.
Kako radi CPUTool?
Kako bi ograničio korištenje CPU-a, cputool šalje procesima signale SIGSTOP i SIGCONT i to je određeno opterećenjem sustava. Oslanja se na /proc pseudo-datotečni sustav za čitanje PID-ova i njihovih mjera korištenja CPU-a.
Može se koristiti za ograničavanje upotrebe CPU-a ili opterećenja sustava na koje utječe jedan proces ili grupa procesa na zadanu granicu i/ili obustavljanje procesa ako opterećenje sustava prijeđe prag.
Predloženo za čitanje: Razumijevanje prosječnih opterećenja Linuxa i praćenje performansi Linuxa
Instalirajte CPUTool da ograničite korištenje procesora i prosječno opterećenje
CPUTool dostupan je samo za instalaciju na Debian/Ubuntu i njegovim derivatima iz zadanih repozitorija sustava pomoću alata za upravljanje paketima.
sudo apt install cputool
Ograničavanje upotrebe CPU-a procesa pomoću CUPToola
Sada pogledajmo kako cputool stvarno radi. Kako bismo sve to demonstrirali, pokrenut ćemo dd naredbu koja bi trebala rezultirati visokim CPU postotkom, u pozadini i prikazati njegov PID.
dd if=/dev/zero of=/dev/null &
Za praćenje upotrebe CPU-a možemo koristiti top ili glances alate koji nam omogućuju da u stvarnom vremenu redovito ažuriramo stanje pokrenutih procesa Linux sustava:
top
Iz gornjeg izlaza možemo vidjeti da naredba dd ima najveći postotak CPU vremena 99,7%)
Sada to možemo ograničiti pomoću cputoola kao što je prikazano u nastavku.
Oznaka --cpu-limit
ili -c
koristi se za postavljanje postotka upotrebe za proces ili grupu procesa i -p
za određivanje PID. Sljedeća naredba ograničit će naredbu dd (PID 8275) na 50% korištenje jedne jezgre CPU-a:
cputool --cpu-limit 50 -p 8275
Nakon pokretanja cputoola, možemo još jednom provjeriti novu upotrebu CPU-a za proces (PID 8275). Sada bi upotreba procesora za dd proces trebala biti u rasponu od (49,0%-52,0%).
top
Da dodatno ograničimo dd-ovu upotrebu CPU-a na 20%, možemo pokrenuti cputool po drugi put:
cputool --cpu-limit 20 -p 8275
Zatim odmah provjerite pomoću alata kao što su top ili glances poput ovog (upotreba CPU-a za dd sada bi trebala biti u rasponu od 19,0%-22,0% ili malo više od ovoga):
top
Imajte na umu da ljuska ne očekuje nikakav korisnički unos dok cputool radi; stoga ne reagira. Da ga ubijete (ovo će prekinuti operaciju ograničenja upotrebe CPU-a), pritisnite Ctrl + C
.
Važno je da navedete grupu procesa (jedan program s nekoliko pokrenutih instanci od kojih svaka ima poseban PID) na primjer HTTP web poslužitelj:
pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780
Koristite oznaku -P
ovako:
cputool --cpu-limit 20 -P 1780
Ograničavanje opterećenja sustava pomoću CUPToola
Opcija -l
koristi se za određivanje maksimalnog opterećenja koje sustav može podnijeti da bi proces ili grupa procesa nastavila s radom. Možemo koristiti razlomačku vrijednost (npr. 2,5).
Primjer ispod znači pokretanje rsync za lokalnu sigurnosnu kopiju samo kada opterećenje sustava ne prelazi 3.5:
cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/
Za više informacija i korištenja pogledajte stranicu priručnika CPUTool:
man cputool
Provjerite sljedeće korisne vodiče za pronalaženje podataka o procesoru i praćenje performansi procesora:
- 9 korisnih naredbi za dobivanje informacija o CPU-u na 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
Zaključno, CPUTool je stvarno koristan za upravljanje performansama Linuxa. Podijelite svoje mišljenje o ovom članku putem donjeg obrasca za povratne informacije.