Omejitev uporabe procesorja v Linuxu z orodjem CPULimit


V prejšnji objavi smo pojasnili CPUTool za omejevanje in nadzor nad uporabo CPE -jev katerega koli procesa v Linuxu. Skrbniku sistema omogoča, da prekine izvajanje procesa (ali skupine procesov), če obremenitev CPU/sistema preseže določen prag. Tu se bomo naučili, kako uporabljati podobno orodje, imenovano cpulimit.

Cpulimit se uporablja za omejevanje uporabe procesorja na enak način kot CPUTool, vendar ponuja več možnosti uporabe v primerjavi s primerjavo. Ena pomembnih razlik je ta, da cpulimit ne upravlja obremenitve sistema v nasprotju s cputool.

Namestite CPULimit, da omejite uporabo procesorja v Linuxu

CPULimit je na voljo za namestitev iz privzetih skladišč programske opreme Debian/Ubuntu in njegovih izpeljank z orodjem za upravljanje paketov.

$ sudo apt install cpulimit

V RHEL/CentOS in Fedori morate najprej omogočiti repozitorij EPEL in nato namestiti cpulimit, kot je prikazano.

# yum namestite epel-release
# yum namestite cpulimit

V tem podpoglavju bomo razložili, kako deluje cpulimit. Najprej zaženimo ukaz (isti ukaz dd, ki smo si ga ogledali, ko smo pokrivali cputool), ki bi moral v ozadju doseči visok odstotek CPU (upoštevajte, da se proces PID natisne po zagonu ukaza).

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

[1] 17918

Nato lahko z orodji za poglede, ki prikažejo dejansko pogosto posodobljeno stanje delujočega sistema Linux, spremljamo uporabo CPU zgornjega ukaza.

$ top

Če pogledamo zgornji rezultat, lahko vidimo, da proces dd uporablja najvišji odstotek CPU časa 100,0%.

Vendar lahko to omejimo s pomočjo cputlimit na naslednji način. Možnost --pid ali -p se uporablja za določitev PID in --limit ali -l je uporablja se za nastavitev odstotka uporabe za postopek.

Spodnji ukaz bo omejil ukaz dd (PID 17918) na 50% uporabe enega jedra CPE -ja.

$ sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Ko zaženemo cpulimit, si lahko s pogledom ogledamo trenutno uporabo CPE -ja za ukaz dd. Izhodna vrednost se giblje med (51,5% -55,0% ali nekoliko dlje).

Njegovo uporabo procesorja lahko drugič omejimo na naslednji način, tokrat pa odstotek še znižamo na naslednji način:

$ sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Kot smo to storili že prej, si lahko ogledamo novo porabo CPE-ja za proces, ki se bo gibala od 20% -25,0% ali nekoliko nad tem.

$ top

Opomba: Lupina postane neinteraktivna-ne pričakujte vnosa uporabnika, ko se izvaja cpulimit. Če ga želite ubiti (kar bi moralo ustaviti delovanje omejitve uporabe procesorja), pritisnite [Ctrl + C] .

Če želite zagnati cpulimit kot proces v ozadju, uporabite stikalo --background ali -b in sprostite terminal.

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

Če želite določiti število jeder CPU, prisotnih v sistemu, uporabite zastavico --cpu ali -c (to se običajno zazna samodejno).

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

Namesto da omejimo uporabo procesorja procesa, ga lahko ubijemo z možnostjo --kill ali -k . Privzeta vrednost je signal, poslan v postopek, je SIGCONT, vendar za pošiljanje drugega signala uporabite zastavico --signal ali -s .

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

Če želite izstopiti, če ni ustreznega ciljnega postopka ali če umre, vključite -z ali --lazy , kot je ta.

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

Za dodatne informacije in možnosti uporabe si oglejte man stran cpulimit.

$ man cpulimit

Oglejte si naslednje koristne vodnike za iskanje informacij o procesorju in spremljanje zmogljivosti procesorja/sistema.

  1. Poiščite najbolj aktivne procese glede na največjo porabo pomnilnika in CPU v Linuxu
  2. Cpustat - Nadzira uporabo CPU z izvajanjem procesov v Linuxu
  3. CoreFreq - zmogljivo orodje za nadzor CPU za sisteme Linux
  4. Poiščite najbolj aktivne procese glede na največjo porabo pomnilnika in CPU v Linuxu
  5. 20 orodij ukazne vrstice za spremljanje delovanja Linuxa
  6. 13 orodij za spremljanje zmogljivosti Linuxa - 2. del

Za primerjavo, po testiranju CPUTool in CPULimit smo opazili, da prvi ponuja učinkovitejšo in zanesljivejšo funkcijo "omejevanja porabe procesorja".

To je odvisno od odstotnega obsega porabe procesorja, opaženega po zagonu obeh orodij v določenem procesu. Preizkusite obe orodji in v ta članek dodajte svoje misli s spodnjim obrazcem za povratne informacije.