CPUTool - Omejitev in nadzor nad uporabo CPU-ja katerega koli procesa v Linuxu


Eno od kritičnih področij v orodjih za spremljanje učinkovitosti Linuxa, da spremljate, kako se stvari odvijajo v sistemu.

Nekatera od teh orodij preprosto prikažejo stanje/statistiko sistema, nekatera druga pa vam ponujajo sredstva za upravljanje zmogljivosti sistema. Eno takšnih orodij, imenovano CPUTool.

CPUTool je preprosto, a zmogljivo orodje ukazne vrstice za omejevanje in nadzor nad uporabo CPU-ja katerega koli procesa do določene meje in omogoča prekinitev izvajanja procesa, če obremenitev sistema preseže določen prag.

Da bi omejili uporabo CPE -ja, cputool pošilja signale SIGSTOP in SIGCONT v procese, kar je odvisno od obremenitve sistema. Pri branju PID-jev in njihovih meril za uporabo CPU-ja se opira na psevdo-datotečni sistem/proc.

Uporablja se lahko za omejitev uporabe procesorja ali obremenitve sistema, na katero vpliva posamezen proces ali skupina procesov, na določeno mejo in/ali zaustavitev procesov, če sistemska obremenitev preseže prag.

Namestite CPUTool, da omejite uporabo procesorja in povprečje obremenitve

CPUTool je na voljo samo za namestitev v Debian/Ubuntu in njegove izpeljanke iz privzetih sistemskih repozitorijev z orodjem za upravljanje paketov.

$ sudo apt install cputool

Zdaj pa si oglejmo, kako cputool v resnici deluje. Za prikaz vsega bomo v ozadju zagnali ukaz dd, ki naj bi povzročil visok odstotek procesorja, in prikazal njegov PID.

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

Za spremljanje uporabe CPU lahko uporabimo orodja Glances, ki nam omogočajo, da v realnem času redno posodabljamo stanje delujočih sistemskih procesov Linux:

# top

Iz zgornjih rezultatov lahko vidimo, da ima ukaz dd najvišji odstotek časa CPU 99,7%) Zdaj lahko to omejimo z uporabo cputool, kot je prikazano spodaj.

Z zastavico --cpu-limit ali -c lahko nastavite odstotek porabe za proces ali skupino procesov in -p za določitev PID. Naslednji ukaz bo omejil ukaz dd (PID 8275) na 50% uporabo enega jedra CPU:

# cputool --cpu-limit 50 -p 8275 

Po zagonu cputool lahko še enkrat preverimo novo uporabo procesorja za postopek (PID 8275). Zdaj bi morala biti poraba procesorja za proces dd v razponu (49,0%-52,0%).

# top

Za nadaljnjo omejitev uporabe CPU dd na 20% lahko cputool zaženemo drugič:

# cputool --cpu-limit 20 -p 8275 

Nato nemudoma preverite z uporabo orodij, kot so taki pogledi (poraba CPU za dd naj bi zdaj znašala med 19,0% -22,0% ali nekoliko nad to):

# top

Upoštevajte, da lupina med izvajanjem cputool ne pričakuje nobenega uporabniškega vnosa; zato postane neodziven. Če ga želite ubiti (s tem boste zaključili operacijo omejitve uporabe procesorja), pritisnite Ctrl + C .

Pomembno je, da določite skupino procesov (en program z več izvajajočimi se primerki, od katerih ima vsak poseben PID), na primer spletni strežnik HTTP:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Uporabite zastavico -P na naslednji način:

# cputool --cpu-limit 20 -P 1780

Možnost -l se uporablja za določitev največje obremenitve, ki jo lahko sistem prenese, da se proces ali skupina procesov še naprej izvaja. Lahko uporabimo delno vrednost (npr. 2,5).

Spodnji primer pomeni zagon rsync za lokalno varnostno kopijo le, če obremenitev sistema ne presega 3,5:

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

Za več informacij in uporabo si oglejte stran CPUTool:

# man cputool

Oglejte si naslednje koristne vodnike za iskanje informacij o CPU -ju in spremljanje zmogljivosti procesorja:

  1. 9 uporabnih ukazov za pridobivanje informacij o procesorju v sistemu Linux
  2. Cpustat - Nadzira uporabo CPU z izvajanjem procesov v Linuxu
  3. CoreFreq - zmogljivo orodje za nadzor CPU za sisteme Linux
  4. Poiščite najbolj aktivne procese glede na največjo porabo pomnilnika in CPU v Linuxu

Skratka, CPUTool resnično pride prav za upravljanje zmogljivosti Linuxa. Delite svoje misli o tem članku prek spodnjega obrazca za povratne informacije.