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:

  1. 9 korisnih naredbi za dobivanje informacija o CPU-u na Linuxu
  2. Cpustat – Prati korištenje CPU-a pokretanjem procesa u Linuxu
  3. CoreFreq – Snažan alat za praćenje procesora za Linux sustave
  4. 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.