CPUTool - Limitați și controlați utilizarea CPU a oricărui proces în Linux


Una dintre zonele critice ale instrumentelor de monitorizare a performanței Linux pentru a fi cu ochii pe cum se desfășoară lucrurile pe un sistem.

Un număr dintre aceste instrumente pur și simplu scot starea/statisticile sistemului, în timp ce altele vă oferă mijloace de gestionare a performanței sistemului. Un astfel de instrument numit CPUTool.

CPUTool este un instrument de linie de comandă simplu, dar puternic, pentru limitarea și controlul utilizării CPU a oricărui proces până la o anumită limită și permite întreruperea execuției procesului dacă încărcarea sistemului depășește un prag definit.

Cum funcționează CPUTool?

Pentru a limita utilizarea CPU, cputool trimite semnalele SIGSTOP și SIGCONT către procese, iar acest lucru este determinat de încărcarea sistemului. Se bazează pe pseudosistemul de fișiere /proc pentru a citi PID-urile și măsurile lor de utilizare a procesorului.

Poate fi folosit pentru a limita utilizarea CPU sau încărcarea sistemului influențată de un singur proces sau de un grup de procese la o anumită limită și/sau suspendarea proceselor dacă sarcina sistemului depășește un prag.

Instalați CPUTool pentru a limita utilizarea CPU și a încărca medie

Un CPUTool este disponibil numai pentru a fi instalat pe Debian/Ubuntu și derivatele sale din arhivele implicite de sistem folosind instrumentul de gestionare a pachetelor.

$ sudo apt install cputool

Limitarea procesului de utilizare a procesorului cu CUPTool

Acum să vedem cum funcționează cu adevărat cputool. Pentru a demonstra totul, vom rula o comandă dd care ar trebui să aibă ca rezultat un procent mare de CPU, în fundal și să afișăm PID-ul acestuia.

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

Pentru a monitoriza utilizarea CPU, putem folosi instrumentele Glances care ne permit să vedem o stare actualizată regulat în timp real a proceselor unui sistem Linux care rulează:

# top

Din rezultatul de mai sus, putem vedea că comanda dd are cel mai mare procent din timpul procesorului 99,7%) Acum putem limita acest lucru folosind cputool așa cum se arată mai jos.

Indicatorul --cpu-limit sau -c este folosit pentru a seta un procent de utilizare pentru un proces sau grup de procese și -p pentru a specifica un PID. Următoarea comandă va limita comanda dd (PID 8275) la 50% utilizarea unui nucleu CPU:

# cputool --cpu-limit 50 -p 8275 

După rularea cputool, putem verifica încă o dată utilizarea noului procesor pentru proces (PID 8275). Acum, utilizarea procesorului pentru procesul dd ar trebui să varieze între (49,0%-52,0%).

# top

Pentru a limita și mai mult utilizarea procesorului dd la 20%, putem rula cputool pentru a doua oară:

# cputool --cpu-limit 20 -p 8275 

Apoi verificați imediat folosind instrumente precum priviri ca aceasta (utilizarea procesorului pentru dd ar trebui să varieze acum de la 19,0%-22,0% sau puțin peste aceasta):

# top

Rețineți că shell-ul nu se așteaptă la nicio intrare de utilizator în timp ce cputool rulează; prin urmare, nu răspunde. Pentru a o opri (acest lucru va încheia operația de limitare a utilizării procesorului), apăsați Ctrl + C.

Este important să specificați un grup de procese (un program cu mai multe instanțe care rulează fiecare cu un PID distinct), de exemplu server web HTTP:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Folosiți marcatorul -P astfel:

# cputool --cpu-limit 20 -P 1780

Limitarea încărcării sistemului cu CUPTool

Opțiunea -l este folosită pentru a specifica încărcarea maximă pe care o poate suporta sistemul pentru ca procesul sau grupul de procese să continue să ruleze. Putem folosi o valoare fracțională (de exemplu, 2,5).

Exemplul de mai jos înseamnă rularea rsync pentru o copie de rezervă locală numai atunci când încărcarea sistemului nu depășește 3,5:

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

Pentru mai multe informații și utilizare, consultați pagina de manual CPUTool:

# man cputool

Consultați următoarele ghiduri utile pentru a găsi informații despre CPU și monitorizarea performanței procesorului:

  1. 9 comenzi utile pentru a obține informații despre CPU pe Linux
  2. Cpustat – Monitorizează utilizarea CPU prin rularea proceselor în Linux
  3. CoreFreq – Un instrument puternic de monitorizare a procesorului pentru sistemele Linux
  4. Găsiți procesele de top în funcție de cea mai mare utilizare a memoriei și procesorului în Linux

În concluzie, CPUTool este într-adevăr util pentru gestionarea performanței Linux. Împărtășiți-vă părerile despre acest articol prin intermediul formularului de feedback de mai jos.