CPULimit, limita l'ús que fa de la CPU un procés

about CPULimit

En el següent article anem a fer una ullada a CPULimit. Aquesta és una eina de línia de comandes que limita l'ús de CPU per part d'un procés (expressat en percentatge, no en temps de CPU). Això ens resultarà útil per controlar els treballs per lots, quan no volem que un procés consumeixi massa cicles de CPU.

Amb l'ús d'aquesta eina no canviarem el valor o altres configuracions de prioritat, sinó l'ús real de la CPU. A més, és capaç d'adaptar-se a la càrrega general de sistema, de forma dinàmica i ràpida. El control de la quantitat de CPU utilitzada es realitza enviant senyals SIGSTOP y SIGCONT POSIX als processos. Tots els processos i fils secundaris de l'procés especificat compartiran el mateix percentatge de CPU.

instal·lar CPULimit

CPULimit està disponible a la majoria dels repositoris per defecte de les distribucions tipus Unix. Podrem instal·lar utilitzant els gestors de paquets predeterminats en la distribució GNU / Linux respectiva. Per l'exemple que ens ocupa, veurem com instal·lar-ho en Debian, Ubuntu i Linux Mint. Només haurem d'obrir una terminal (Ctrl + Alt + T) i escrivim en ella la següent ordre:

sudo apt-get install cpulimit

Qui vulgui podrà consultar altres tipus d'instal·lacions a la pàgina de GitHub de el projecte.

Ús de CPULimit

Un cop instal·lada l'eina, és hora de veure com funciona. Per a això, anem a executar un programa que consumeixi molts recursos de CPU. Els següents ordres s'han d'executar com a usuari root.

Creant un script que consumeixi recursos de CPU

Primer anem a crear un arxiu anomenat derrochecpu.sh. Jo vaig a utilitzar per a això el editor Vim, Però que cadascú faci servir el que prefereixi. Des de la terminal (Ctrl + Alt + T) haurem d'escriure:

vim derrochecpu.sh

Un cop obert, premerem la tecla 'Esc'I després'i'. Ara anem a afegir les següents línies:

script vim derrochecpu

#!/bin/bash
while :; do :; done;

Acabat això, és hora de guardar i sortir. Per a això pressionarem la tecla 'Esc'I escriurem : wq per guardar i tancar l'arxiu. Aquest breu script es repetirà sense interrupcions consumint el màxim ús de la CPU. Per lesto, és recomanable provar-ho en una màquina virtual.

Ara farem aquest arxiu executable. Per a això, des de la mateixa terminal (Ctrl + Alt + T) executarem:

chmod +x derrochecpu.sh

Llançant l'script

Ara llançarem el procés en segon pla. Això ho farem utilitzant la comanda:

./derrochecpu.sh &

PID script malbaratamentCPU

Ens quedarem amb el PID de l'procés. En aquest cas, 6472 és el PID de l'procés llançat.

Comprovant quanta CPU consumeix

Podrem veure la quantitat de CPU que el procés que acabem de llançar consumeix, utilitzant el comandament «top» a la mateixa terminal:

top script malbaratamentCPU

top

Com es pot veure en la captura anterior, el procés derrochecpu.sh consumeix més de l'96% d'ús de la CPU. Atès que consumeix bastant ús de CPU, és difícil executar altres tasques. Passats uns uns minuts, el sistema podria bloquejar o congelar. Aquí és on CPULimt ve a ajudar.

Limitant l'ús de CPU mitjançant PID

Ara, limitem l'ús de CPU d'aquest procés utilitzant l'eina CPULimit. anem a limitar mitjançant la seva corresponent PID l'ús de la CPU a un 35% (Aproximadament). Per fer-ho, executa:

cpulimit -l 35 -p 6472 &
  • L'opció «-l 35»Limita el procés a l'35%, aproximadament.
  • «-Pàg 6472»És el PID de derrochecpu.sh que hem vist abans.

Comprovant l'efecte de CPULimit

Llançada l'anterior ordre, revisem de nou l'ús de CPU de el procés. Per a això utilitzarem una altra vegada la comanda top:

top script CPULimit derrochecpu

top

Com pot veure en l'anterior imatge, l'ús de CPU de derrochecpu.sh s'ha reduït a l'35,6%, que és molt proper a l'35%. Ara, ja podrem disposar de més recursos de CPU per executar altres processos.

Limitant l'ús de CPU mitjançant nom d'arxiu

Hem vist com limitar un procés utilitzant el PID. també podrem executar la comanda CPULimit especificant el nom de l'arxiu de programa executable.

Per exemple, el mateix exemple anterior seria:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit pot ser útil mentre executem un procés que consumeix massa ús de CPU. La propera vegada que notem que un programa consumeix massa CPU, simplement haurem de buscar el PID de l'procés utilitzant la comanda «superior«. Quan ho tinguis, només caldrà limitar l'ús de CPU a un valor mínim amb l'ordre CPULimit com es descriu en aquest article.

Desinstal CPULimit

Eliminar aquesta eina del nostre sistema és tan senzill com obrir una terminal (Ctrl + Alt + T) i escriure-hi:

sudo apt remove cpulimit

El que en aquest article s'ha descrit és només un exemple. Evidentment, ningú en el seu sa judici llançarà un script com el que aquí es descriu en el seu propi equip.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   javp va dir

    Hola:
    Em ve perfecte per a un vell PC que tinc amb una amd64 x2 que es veu que té un problema de refrigeració i quan un procés consumeix molta cpu durant diversos minuts, s'escalfa a 100º C i s'apaga.
    Així, quan vegi que un procés (generalment algunes webs o programes de renderització de vídeo) m'està fent pujar la temperaura de la cpu, faré servir cpulimit perquè llevar-li «potència» a aquest procés.
    Gràcias