CPUTool: limita i controla l'ús de la CPU de qualsevol procés a Linux


Una de les àrees crítiques de les eines de control del rendiment de Linux per vigilar com es desenvolupen les coses en un sistema.

Algunes d'aquestes eines simplement generen l'estat/estadístiques del sistema, mentre que algunes altres us proporcionen mitjans per gestionar el rendiment del sistema. Una d'aquestes eines anomenada CPUTool.

CPUTool és una eina de línia d'ordres senzilla però potent per limitar i controlar l'ús de la CPU de qualsevol procés fins a un límit determinat i permet interrompre l'execució del procés si la càrrega del sistema supera un llindar definit.

Per tal de limitar l'ús de la CPU, cputool envia els senyals SIGSTOP i SIGCONT als processos i això està determinat per la càrrega del sistema. Es basa en el pseudosistema de fitxers /proc per llegir els PID i les seves mesures d'ús de la CPU.

Es pot utilitzar per limitar l'ús de la CPU o la càrrega del sistema influenciada per un únic procés o un grup de processos fins a un límit determinat i/o suspendre processos si la càrrega del sistema va més enllà d'un llindar.

Instal·leu CPUTool per limitar l'ús de la CPU i carregar la mitjana

Una CPUTool només està disponible per instal·lar-la a Debian/Ubuntu i els seus derivats des dels dipòsits del sistema predeterminats mitjançant l'eina de gestió de paquets.

$ sudo apt install cputool

Ara mirem com funciona realment cputool. Per demostrar-ho tot, executarem una ordre dd que hauria de donar lloc a un percentatge elevat de CPU, en segon pla i mostrar el seu PID.

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

Per controlar l'ús de la CPU podem utilitzar les eines de vista que ens permeten veure un estat actualitzat regularment en temps real dels processos del sistema Linux en execució:

# top

A partir de la sortida anterior, podem veure que l'ordre dd té el percentatge més alt de temps de CPU 99,7%) Ara podem limitar-ho utilitzant cputool com es mostra a continuació.

El senyalador --cpu-limit o -c s'utilitza per establir un percentatge d'ús per a un procés o grup de processos i -p per especificar un PID. L'ordre següent limitarà l'ordre dd (PID 8275) al 50% d'ús d'un nucli de CPU:

# cputool --cpu-limit 50 -p 8275 

Després d'executar cputool, podem comprovar el nou ús de la CPU per al procés (PID 8275) una vegada més. Ara l'ús de la CPU per al procés dd hauria d'oscilar entre (49,0%-52,0%).

# top

Per limitar encara més l'ús de la CPU de dd al 20%, podem executar cputool per segona vegada:

# cputool --cpu-limit 20 -p 8275 

A continuació, comproveu immediatament utilitzant eines com ara mirades com aquesta (l'ús de la CPU per a dd ara hauria d'oscil·lar entre el 19,0% i el 22,0% o una mica més enllà d'això):

# top

Tingueu en compte que l'intèrpret d'ordres no espera cap entrada de l'usuari mentre s'executa cputool; per tant, no respon. Per eliminar-lo (això finalitzarà l'operació de limitació d'ús de la CPU), premeu Ctrl + C.

És important que especifiqueu un grup de processos (un programa amb diverses instàncies en execució cadascuna amb un PID diferent), per exemple, un servidor web HTTP:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Utilitzeu la marca -P com aquesta:

# cputool --cpu-limit 20 -P 1780

L'opció -l s'utilitza per especificar la càrrega màxima que pot tenir el sistema perquè el procés o grup de processos continuï executant-se. Podem utilitzar un valor fraccionari (p. ex. 2,5).

L'exemple següent significa executar rsync per a una còpia de seguretat local només quan la càrrega del sistema no supera 3,5:

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

Per obtenir més informació i ús, consulteu la pàgina man de CPUTool:

# man cputool

Consulteu les guies útils següents per trobar la informació de la CPU i el control del rendiment de la CPU:

  1. 9 ordres útils per obtenir informació de la CPU a Linux
  2. Cpustat: supervisa la utilització de la CPU mitjançant l'execució de processos a Linux
  3. CoreFreq: una potent eina de supervisió de la CPU per a sistemes Linux
  4. Cerca els processos que s'executen amb major ús de memòria i CPU a Linux

En conclusió, CPUTool és molt útil per a la gestió del rendiment de Linux. Comparteix els teus pensaments sobre aquest article mitjançant el formulari de comentaris que hi ha a continuació.