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:
- 9 comenzi utile pentru a obține informații despre CPU pe Linux
- Cpustat – Monitorizează utilizarea CPU prin rularea proceselor în Linux
- CoreFreq – Un instrument puternic de monitorizare a procesorului pentru sistemele Linux
- 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.