CPULimit, limitează utilizarea pe care un proces o face de CPU

despre CPULimit

În articolul următor vom analiza CPULimit. Acesta este un instrument de linie de comandă care limitează utilizarea procesorului printr-un proces (exprimat în procente, nu în timpul procesorului). Acest lucru va fi util pentru controlul lucrărilor batch, atunci când nu dorim ca un proces să consume prea multe cicluri CPU.

Cu ajutorul acestui instrument nu vom schimba valoarea sau alte setări de prioritate, ci utilizarea efectivă a procesorului. În plus, este capabil să se adapteze la sarcina generală a sistemului, dinamic și rapid. Controlul cantității de CPU utilizate se face prin trimitere Senales URMĂTOAREA OPRIRE y NEXTCONT POSIX la procese. Toate procesele și firele secundare ale procesului specific vor avea același procentaj de procesor.

Instalați CPULimit

CPULimit este disponibil în majoritatea depozitelor implicite ale distribuțiilor de tip Unix. Îl putem instala folosind gestionarii de pachete implicite în distribuția Gnu / Linux respectivă. Pentru exemplul prezentat, vom vedea cum să-l instalăm pe Debian, Ubuntu și Linux Mint. Va trebui să deschidem doar un terminal (Ctrl + Alt + T) și să scriem următoarea comandă:

sudo apt-get install cpulimit

Oricine dorește poate consulta alte tipuri de facilități în pagina proiectului GitHub.

Folosind CPULimit

Odată ce instrumentul este instalat, este timpul să vedeți cum funcționează. Pentru a face acest lucru, vom rula un program care consumă o mulțime de resurse CPU. Următoarele comenzi trebuie executate ca utilizator root.

Crearea unui script care consumă resurse CPU

Mai întâi mergem creați un fișier numit derrochecpu.sh. Voi folosi Editor Vim, dar că fiecare îl folosește pe cel pe care îl preferă. De la terminal (Ctrl + Alt + T) va trebui să scriem:

vim derrochecpu.sh

Odată deschis, vom apăsa tasta 'Esc' și apoi 'i'. Acum vom adăuga următoarele rânduri:

vim script splurgecpu

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

După ce ați făcut acest lucru, este timpul să salvați și să ieșiți. Pentru a face acest lucru, vom apăsa tasta 'Esc'și vom scrie : Wq pentru a salva și închide fișierul. Acest scurt script se va repeta fără întrerupere consumând utilizarea maximă a procesorului. Prin urmare, este recomandat să-l testați pe o mașină virtuală.

Acum vom face acest fișier executabil. Pentru a face acest lucru, de la același terminal (Ctrl + Alt + T) vom executa:

chmod +x derrochecpu.sh

Lansarea scriptului

Acum vom lansa procesul în fundal. Vom face acest lucru folosind comanda:

./derrochecpu.sh &

Script PID splurgeCPU

Vom păstra PID-ul procesului. În acest caz, 6472 este PID al procesului lansat.

Verificarea cantității de CPU pe care o consumă

Putem vedea cantitatea de CPU pe care o consumă procesul pe care tocmai l-am lansat, folosind comanda «sus» în același terminal:

top script splurgeCPU

top

După cum se poate vedea în captura de ecran de mai sus, procesul wastecpu.sh consumă mai mult de 96% din utilizarea procesorului. Deoarece consumă o mulțime de utilizare a procesorului, este dificil să executați alte sarcini. Dupa cateva minute, sistemul se poate bloca sau bloca. Aici CPULimt ne ajută.

Limitarea utilizării procesorului de către PID

Acum, să limităm utilizarea procesorului în acest proces folosind instrumentul CPULimit. Noi mergem spre limitați utilizarea procesorului la 35% prin intermediul PID corespunzător (despre). Pentru a face acest lucru, executați:

cpulimit -l 35 -p 6472 &
  • Optiunea "-l 35»Limită procesul la aproximativ 35%.
  • «-p 6472»Este PID-ul derrochecpu.sh pe care l-am mai văzut înainte.

Verificarea efectului CPULimit

Odată ce comanda anterioară a fost lansată, să verificăm din nou utilizarea procesorului în proces. Pentru aceasta vom folosi din nou comanda de sus:

script de top CPULimit risipirea

top

După cum puteți vedea din imaginea de mai sus, utilizarea procesorului wastefulcpu.sh a scăzut la 35,6%, ceea ce este foarte aproape de 35%. Acum putem avea mai multe resurse CPU pentru a rula alte procese.

Limitarea utilizării procesorului după numele fișierului

Am văzut cum să limităm un proces folosind PID. De asemenea putem executa comanda CPULimit specificând numele fișierului program executabil.

De exemplu, același exemplu de mai sus ar fi:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit poate fi util în timpul rulării unui proces care consumă prea mult utilizarea procesorului. Data viitoare când observăm că un program consumă prea mult CPU, va trebui pur și simplu să găsim PID-ul procesului folosind comanda «top«. Când îl aveți, trebuie doar să vă limitați utilizarea procesorului la o valoare minimă utilizând comanda CPULimit așa cum este descris în acest articol.

Dezinstalați CPULimit

Eliminarea acestui instrument din sistemul nostru este la fel de simplă ca deschiderea unui terminal (Ctrl + Alt + T) și introducerea acestuia:

sudo apt remove cpulimit

Ceea ce a descris acest articol este doar un exemplu. Evident, nimeni în mintea lor bună nu va lansa un script ca cel descris aici pe propriul computer.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   javp el a spus

    Hi
    Este perfect pentru un PC vechi pe care îl am cu un amd64 x2 care pare să aibă o problemă de răcire și atunci când un proces consumă o mulțime de cpu timp de câteva minute, acesta se încălzește până la 100º C și se oprește.
    Astfel, când văd că un proces (în general unele site-uri web sau programe de redare video) mă face să măresc temperatura procesorului, voi folosi cpulimit pentru a elimina „puterea” din acel proces.
    Mulţumiri