CPUTool - Rajoita ja ohjaa minkä tahansa prosessin suorittimen käyttöä Linuxissa


Yksi Linuxin suorituskyvyn valvonnan kriittisistä alueista on suorittimen käyttö ja järjestelmän kuormitus. On olemassa useita Linux-suorituskyvyn seurantatyökaluja, joiden avulla voit seurata, miten järjestelmässä asiat etenevät.

Useat näistä työkaluista yksinkertaisesti tulostavat järjestelmän tilan/tilastot, kun taas muutamat muut tarjoavat sinulle keinoja hallita järjestelmän suorituskykyä. Yksi tällainen työkalu on nimeltään CPUTool.

CPUTool on yksinkertainen mutta tehokas komentorivityökalu minkä tahansa prosessin suorittimen käytön rajoittamiseen ja ohjaamiseen tiettyyn rajaan asti ja mahdollistaa prosessin suorittamisen keskeyttämisen, jos järjestelmän kuormitus ylittää määritellyn kynnyksen.

Miten CPUTool toimii?

CPU-käytön rajoittamiseksi cputool lähettää SIGSTOP- ja SIGCONT-signaalit prosesseille, ja tämä määräytyy järjestelmän kuormituksen mukaan. Se käyttää /proc pseudotiedostojärjestelmää lukeakseen PID:t ja niiden suorittimen käyttömitat.

Sitä voidaan käyttää rajoittamaan yksittäisen prosessin tai prosessien ryhmän vaikuttamaa suorittimen käyttöä tai järjestelmän kuormitusta tiettyyn rajaan ja/tai keskeyttämään prosesseja, jos järjestelmän kuormitus ylittää kynnyksen.

Suositeltu luku: Linuxin kuormituskeskiarvojen ymmärtäminen ja Linuxin suorituskyvyn valvonta

Asenna CPUTool rajoittaaksesi suorittimen käyttöä ja keskimääräistä kuormitusta

CPUTool on saatavana vain asennettavaksi Debian/Ubuntuun ja sen johdannaisiin oletusjärjestelmän arkistoista paketinhallintatyökalun avulla.

sudo apt install cputool

Prosessin suorittimen käytön rajoittaminen CUPToolilla

Katsotaan nyt, kuinka cputool todella toimii. Näytämme kaiken suorittamalla dd-komennon, jonka pitäisi johtaa korkeaan prosessorin prosenttiosuuteen taustalla ja näyttää sen PID.

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

Suorittimen käytön seuraamiseen voimme käyttää ylä- tai silmäystyökaluja, joiden avulla voimme tarkastella käynnissä olevien Linux-järjestelmäprosessien reaaliaikaista säännöllisesti päivitettävää tilaa:

top

Yllä olevasta lähdöstä voimme nähdä, että dd-komennolla on suurin prosessoriaikaprosentti 99,7 %). Nyt voimme rajoittaa tätä käyttämällä cputoola alla olevan kuvan mukaisesti.

Lippua --cpu-limit tai -c käytetään prosessin tai prosessien ryhmän käyttöprosentin määrittämiseen ja -p määrittämään. PID. Seuraava komento rajoittaa dd-komennon (PID 8275) 50 %:iin yhden CPU-ytimen käyttöön:

cputool --cpu-limit 50 -p 8275 

Kun cputool on suoritettu, voimme vielä kerran tarkistaa prosessin uuden suorittimen käytön (PID 8275). Nyt suorittimen käytön dd-prosessissa pitäisi vaihdella (49,0–52,0 %).

top

Rajataksemme dd:n suorittimen käyttöä edelleen 20 prosenttiin, voimme suorittaa cputoolin toisen kerran:

cputool --cpu-limit 20 -p 8275 

Tarkista sitten välittömästi käyttämällä työkaluja, kuten yläosaa tai tämän kaltaisia katseita (dd:n suorittimen käytön pitäisi nyt vaihdella välillä 19,0–22,0 % tai hieman tätä korkeampi):

top

Huomaa, että komentotulkki ei odota käyttäjän syötteitä, kun cputool on käynnissä; siksi se ei vastaa. Voit lopettaa sen (tämä lopettaa suorittimen käytön rajoittamisen) painamalla Ctrl + C.

Tärkeää on, että määrität prosessiryhmän (yksi ohjelma, jossa on useita käynnissä olevia esiintymiä, joilla kullakin on erillinen PID) esimerkiksi HTTP-verkkopalvelimelle:

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Käytä -P-lippua näin:

cputool --cpu-limit 20 -P 1780

Järjestelmän kuormituksen rajoittaminen CUPToolilla

Vaihtoehtoa -l käytetään määrittämään enimmäiskuormitus, jonka järjestelmä voi kestää, jotta prosessi tai prosessiryhmä jatkaa toimintaansa. Saatamme käyttää murto-osaa (esim. 2,5).

Alla oleva esimerkki tarkoittaa, että rsync suoritetaan paikallista varmuuskopiota varten vain, kun järjestelmän kuormitus ei ylitä 3,5:

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

Katso lisätietoja ja käyttöä CPUTool-manuaalisivulta:

man cputool

Tutustu seuraaviin hyödyllisiin oppaisiin CPU-tietojen ja suorittimen suorituskyvyn valvonnan löytämiseksi:

  1. 9 hyödyllistä komentoa suorittimen tietojen saamiseksi Linuxissa
  2. Cpustat – Valvoo suorittimen käyttöä suorittamalla prosesseja Linuxissa
  3. CoreFreq – Tehokas suorittimen valvontatyökalu Linux-järjestelmille
  4. Löydä suosituimmat käynnissä olevat prosessit korkeimman muistin ja suorittimen käytön mukaan Linuxissa

Yhteenvetona voidaan todeta, että CPUTool on todella kätevä Linuxin suorituskyvyn hallinnassa. Jaa ajatuksesi tästä artikkelista alla olevan palautelomakkeen kautta.