Rajoita prosessorin käyttöä prosessorissa Linuxissa CPULimit-työkalulla


Aikaisemmassa viestissä olemme selittäneet CPUToolia minkä tahansa Linuxissa olevan prosessorin CPU-käytön rajoittamiseksi ja hallitsemiseksi. Sen avulla järjestelmänvalvoja voi keskeyttää prosessin (tai prosessiryhmän) suorittamisen, jos suorittimen/järjestelmän kuormitus ylittää määritetyn kynnyksen. Täällä opit käyttämään vastaavaa työkalua nimeltä cpulimit.

Cpulimitillä rajoitetaan prosessorin suorittimen käyttöä samalla tavalla kuin CPUTool, mutta se tarjoaa enemmän käyttömahdollisuuksia verrattuna vastaavaan. Yksi tärkeä ero on se, että cpulimit ei hallitse järjestelmän kuormitusta toisin kuin cputool.

Asenna CPULimit rajoittaaksesi prosessorin suorittimen käyttöä Linuxissa

CPULimit on saatavana asennettavaksi Debianin/Ubuntun ja sen johdannaisten oletusohjelmistovarastoista paketinhallintatyökalun avulla.

$ sudo apt install cpulimit

RHEL/CentOS: ssa ja Fedorassa sinun on ensin otettava käyttöön EPEL-arkisto ja asennettava sitten cpulimit kuvan osoittamalla tavalla.

# yum asenna epel-release
# yum asenna cpulimit

Tässä alaosassa kerromme, miten cpulimit toimii. Suoritetaan ensin komento (sama dd-komento, jota tarkastelimme samalla kun peitämme cputoolia), jonka pitäisi johtaa korkeaan suorittimen prosenttiosuuteen taustalla (huomaa, että prosessin PID tulostetaan komennon suorittamisen jälkeen).

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

[1] 17918

Seuraavaksi voimme käyttää silmäystyökaluja, jotka tuottavat käynnissä olevan Linux-järjestelmän todellisen usein päivitetyn tilan, tarkkailemaan yllä olevan komennon suorittimen käyttöä.

$ top

Yllä olevaa lähtöä tarkasteltaessa voidaan nähdä, että dd-prosessi käyttää suurinta prosenttiosuutta prosessorin ajasta 100,0%.

Mutta voimme rajoittaa tätä käyttämällä cputlimit seuraavasti. Vaihtoehtoa --pid tai -p käytetään määrittämään PID ja --limit tai -l on käytetään prosessin käyttöprosentin asettamiseen.

Alla oleva komento rajoittaa dd-komennon (PID 17918) 50 prosenttiin yhden CPU-ytimen käytöstä.

$ sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Kun suoritamme cpulimit, voimme tarkastella dd-komennon nykyistä suorittimen käyttöä yhdellä silmäyksellä. Lähdön arvo vaihtelee välillä (51,5-55,0% tai hieman yli).

Voimme kuristaa sen suorittimen käyttöä toisen kerran seuraavasti, tällä kertaa alentamalla prosenttiosuutta seuraavasti:

$ sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Kuten aikaisemmin, voimme suorittaa ylhäältä tai silmäyksillä nähdäksesi prosessin uuden CPU-käytön, joka vaihtelee välillä 20% -25,0% tai hieman yli tämän.

$ top

Huomaa: Kuoresta tulee vuorovaikutteinen - ei odota käyttäjän syötettä, kun cpulimit on käynnissä. Voit tappaa sen (jonka pitäisi keskeyttää suorittimen käytön rajoitustoiminto) painamalla [Ctrl + C] .

Suorita cpulimit taustaprosessina käyttämällä --background - tai -b -kytkintä vapauttamalla pääte.

$ sudo cpulimit --pid 17918 --limit 20 --background

Määritä järjestelmässä olevien suorittimen ytimien määrä käyttämällä --cpu - tai -c -lippua (tämä havaitaan yleensä automaattisesti).

$ sudo cpulimit --pid 17918 --limit 20 --cpu 4

Sen sijaan, että rajoittaisimme prosessorin suorittimen käyttöä, voimme tappaa sen --kill - tai -k -vaihtoehdolla. Oletus on prosessille lähetetty signaali SIGCONT, mutta jos haluat lähettää toisen signaalin, käytä lippua --signal tai -s .

$ sudo cpulimit --pid 17918 --limit 20 --kill 

Jos haluat poistua, jos sopivaa kohdeprosessia ei ole tai jos se kuolee, sisällytä näin -z tai --lazy .

$ sudo cpulimit --pid 17918 --limit 20 --kill --lazy

Lisätietoja ja käyttövaihtoehtoja on cpulimit-man-sivulla.

$ man cpulimit

Tarkista seuraavat hyödylliset oppaat suorittimen tietojen ja suorittimen/järjestelmän suorituskyvyn valvonnan löytämiseksi.

  1. Etsi parhaimmat käynnissä olevat prosessit suurimman muistin ja suorittimen käytön mukaan Linuxissa
  2. Cpustat - valvoo suorittimen käyttöä suorittamalla prosesseja Linuxissa
  3. CoreFreq - tehokas suorittimen seurantatyökalu Linux-järjestelmille
  4. Etsi parhaimmat käynnissä olevat prosessit suurimman muistin ja suorittimen käytön mukaan Linuxissa
  5. 20 komentorivityökalua Linuxin suorituskyvyn seuraamiseksi
  6. 13 Linux Performance Monitoring Tools - Part 2

Vertailun vuoksi huomasimme CPUToolin ja CPULimitin testaamisen jälkeen, että edellinen tarjoaa tehokkaamman ja luotettavamman "prosessorin suorittimen käytön rajoituksen" toiminnallisuuden.

Tämä perustuu prosessorin käytön prosentuaaliseen alueeseen, joka havaitaan sen jälkeen, kun molemmat työkalut on suoritettu tiettyä prosessia vastaan. Kokeile molempia työkaluja ja lisää ajatuksesi tähän artikkeliin käyttämällä alla olevaa palautelomaketta.