CPUTool - Ograničite i kontrolirajte korištenje CPU-a bilo kojeg procesa u Linuxu


Jedna od kritičnih oblasti pod nadzorom performansi Linuxa mora biti upotreba CPU-a i opterećenje sistema. Postoji nekoliko alata za praćenje performansi Linuxa da biste pratili kako se stvari odvijaju na sistemu.

Brojni od ovih alata jednostavno izlaze stanje/statistiku sistema, dok vam neki drugi pružaju sredstva za upravljanje performansama sistema. Jedan takav alat se zove CPUTool.

CPUTool je jednostavan, ali moćan alat naredbene linije za ograničavanje i kontrolu korištenja CPU-a bilo kojeg procesa na datu granicu i dozvoljava prekid izvršenja procesa ako opterećenje sistema prekorači definirani prag.

Kako radi CPUTool?

Kako bi ograničio korištenje CPU-a, cputool šalje SIGSTOP i SIGCONT signale procesima i to je određeno opterećenjem sistema. Oslanja se na /proc pseudo-sistem datoteka za čitanje PID-ova i njihovih mjera korištenja CPU-a.

Može se koristiti za ograničavanje upotrebe CPU-a ili opterećenja sistema na koje utiče jedan proces ili grupa procesa na dato ograničenje i/ili suspendovanje procesa ako opterećenje sistema pređe prag.

Preporučeno čitanje: Razumjeti prosjek opterećenja Linuxa i pratiti performanse Linuxa

Instalirajte CPUTool da ograničite upotrebu CPU-a i učitate prosjek

CPUTool je dostupan samo za instalaciju na Debian/Ubuntu i njegove derivate iz zadanih sistemskih spremišta koristeći alat za upravljanje paketima.

sudo apt install cputool

Ograničavanje upotrebe procesora procesa pomoću CUPTool-a

Pogledajmo sada kako cputool zaista radi. Da bismo sve to demonstrirali, pokrenut ćemo dd komandu koja bi trebala rezultirati visokim procentom CPU-a, u pozadini i prikazati njen PID.

dd if=/dev/zero of=/dev/null &

Za praćenje upotrebe CPU-a možemo koristiti alate za vrh ili poglede koji nam omogućavaju da vidimo redovno ažurirano stanje pokrenutih Linux sistemskih procesa u stvarnom vremenu:

top

Iz gornjeg izlaza, možemo vidjeti da dd komanda ima najveći postotak CPU vremena 99,7%) Sada ovo možemo ograničiti koristeći cputool kao što je prikazano ispod.

Oznaka --cpu-limit ili -c se koristi za postavljanje postotka korištenja za proces ili grupu procesa i -p za određivanje a PID. Sljedeća naredba će ograničiti naredbu dd (PID 8275) na 50% korištenje jednog CPU jezgra:

cputool --cpu-limit 50 -p 8275 

Nakon pokretanja cputool-a, možemo još jednom provjeriti novu upotrebu CPU-a za proces (PID 8275). Sada bi upotreba CPU-a za dd proces trebala biti u rasponu od (49,0%-52,0%).

top

Da dodatno ograničimo korištenje dd CPU-a na 20%, možemo pokrenuti cputool po drugi put:

cputool --cpu-limit 20 -p 8275 

Zatim odmah provjerite koristeći alate kao što su vrh ili ovakvi pogledi (upotreba CPU-a za dd bi sada trebala biti u rasponu od 19,0%-22,0% ili nešto više od ovoga):

top

Imajte na umu da ljuska ne očekuje nikakav korisnički unos dok je cputool pokrenut; stoga ne reaguje. Da biste ga ubili (ovo će prekinuti operaciju ograničenja upotrebe CPU-a), pritisnite Ctrl + C.

Važno je da navedete procesnu grupu (jedan program sa nekoliko pokrenutih instanci svaka sa različitim PID-om), na primjer HTTP web server:

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Koristite zastavu -P ovako:

cputool --cpu-limit 20 -P 1780

Ograničavanje opterećenja sistema pomoću CUPTool-a

Opcija -l se koristi za određivanje maksimalnog opterećenja koje sistem može preći da bi proces ili grupa procesa nastavila raditi. Možemo koristiti frakcijsku vrijednost (npr. 2,5).

Primjer ispod znači pokretanje rsync za lokalnu sigurnosnu kopiju samo kada opterećenje sistema ne prelazi 3.5:

cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

Za više informacija i upotrebe, pogledajte stranicu CPUTool man:

man cputool

Provjerite sljedeće korisne vodiče za pronalaženje informacija o procesoru i praćenje performansi procesora:

  1. 9 korisnih naredbi za dobivanje informacija o procesoru na Linuxu
  2. Cpustat – Nadzire korištenje CPU-a pokretanjem procesa u Linuxu
  3. CoreFreq – Snažan alat za praćenje procesora za Linux sisteme
  4. Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu

U zaključku, CPUTool je zaista koristan za upravljanje performansama Linuxa. Podijelite svoje mišljenje o ovom članku putem obrasca za povratne informacije u nastavku.