Apribokite proceso procesoriaus naudojimą sistemoje „Linux“ naudodami „CPULimit Tool“.


Ankstesniame įraše paaiškinome CPUTool, skirtą apriboti ir valdyti bet kokio proceso procesoriaus naudojimą sistemoje Linux. Tai leidžia sistemos administratoriui nutraukti proceso (arba procesų grupės) vykdymą, jei CPU/sistemos apkrova viršija apibrėžtą slenkstį. Čia sužinosime, kaip naudoti panašų įrankį, vadinamą cpulimit.

Cpulimit naudojamas apriboti proceso procesoriaus naudojimą taip pat, kaip ir CPUTool, tačiau jis siūlo daugiau naudojimo parinkčių, palyginti su analogu. Vienas svarbus skirtumas yra tas, kad „cpulimit“, kitaip nei cputool, nevaldo sistemos apkrovos.

Siūlomas skaitymas: 9 naudingos komandos, skirtos gauti informaciją apie centrinį procesorių sistemoje Linux

Įdiekite „CPULimit“, kad apribotumėte proceso procesoriaus naudojimą sistemoje „Linux“.

CPULimit galima įdiegti iš numatytosios Debian/Ubuntu programinės įrangos saugyklų ir jos išvestinių produktų naudojant paketų valdymo įrankį.

sudo apt install cpulimit

Sistemose RHEL/CentOS ir Fedora pirmiausia turite įgalinti EPEL saugyklą ir tada įdiegti cpulimit, kaip parodyta.

# yum įdiegti epel-release
# yum įdiegti cpulimit

Proceso procesoriaus naudojimo ribojimas naudojant CULimit

Šiame poskyryje paaiškinsime, kaip veikia cpulimit. Pirmiausia paleiskime komandą (tą pačią dd komandą, kurią žiūrėjome apimdami cputool), kurios rezultatas turėtų būti didelis procesoriaus procentas fone (atminkite, kad proceso PID išspausdinamas paleidus komandą) .

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

[1] 17918

Tada galime naudoti viršutinius arba žvilgsnių įrankius, kurie išveda faktinę dažnai atnaujinamą veikiančios „Linux“ sistemos būseną, norėdami stebėti aukščiau pateiktos komandos procesoriaus naudojimą.

top

Žvelgdami į aukščiau pateiktą išvestį matome, kad dd procesas išnaudoja didžiausią procesoriaus laiko procentą 100,0 %.

Bet mes galime tai apriboti naudodami cputlimit taip. Parinktis --pid arba -p naudojama PID nurodyti, o --limit arba -l yra naudojamas proceso naudojimo procentams nustatyti.

Toliau pateikta komanda apribos dd komandą (PID 17918) iki 50 % vieno procesoriaus branduolio naudojimo.

sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Kai paleidžiame cpulimit, galime peržiūrėti dabartinį procesoriaus naudojimą dd komandai iš viršaus arba žvilgsniais. Išvesties vertė svyruoja nuo (51,5–55,0 % arba šiek tiek daugiau).

Antrą kartą galime sumažinti procesoriaus naudojimą taip, šį kartą procentą dar sumažindami taip:

sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Kaip darėme anksčiau, galime paleisti iš viršaus arba žvilgsniu peržiūrėti naują proceso procesoriaus naudojimą, kuris svyruos nuo 20–25,0 % arba šiek tiek daugiau.

top

Pastaba: apvalkalas tampa neinteraktyvus – nesitiki jokio vartotojo įvesties, kai veikia cpulimit. Norėdami jį užmušti (tai turėtų sustabdyti procesoriaus naudojimo ribojimo operaciją), paspauskite [Ctrl + C].

Norėdami paleisti cpulimit kaip foninį procesą, naudokite jungiklį --background arba -b, atlaisvindami terminalą.

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

Norėdami nurodyti sistemoje esančių procesoriaus branduolių skaičių, naudokite vėliavėlę --cpu arba -c (paprastai tai aptinkama automatiškai).

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

Užuot apriboję proceso procesoriaus naudojimą, galime jį sustabdyti naudodami parinktį --kill arba -k. Numatytasis signalas, siunčiamas procesui, yra SIGCONT, bet norėdami siųsti kitokį signalą, naudokite vėliavėlę --signal arba -s.

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

Jei norite išeiti, jei nėra tinkamo tikslinio proceso arba jis miršta, įtraukite -z arba --lazy, kaip šis.

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

Norėdami gauti papildomos informacijos ir naudojimo parinkčių, žr. cpulimit vadovo puslapį.

man cpulimit

Peržiūrėkite šiuos naudingus vadovus, kaip rasti procesoriaus informaciją ir stebėti procesoriaus/sistemos našumą.

  1. Raskite populiariausius veikiančius procesus pagal didžiausią atminties ir procesoriaus naudojimą sistemoje „Linux“.
  2. „Cpustat“ – stebi procesoriaus naudojimą vykdant procesus sistemoje „Linux“.
  3. CoreFreq – galingas procesoriaus stebėjimo įrankis, skirtas Linux sistemoms
  4. Raskite populiariausius veikiančius procesus pagal didžiausią atminties ir procesoriaus naudojimą sistemoje „Linux“.
  5. 20 komandinės eilutės įrankių, skirtų „Linux“ našumui stebėti
  6. 13 „Linux“ našumo stebėjimo įrankiai – 2 dalis

Palyginimui, išbandę CPUTool ir CPULimit, pastebėjome, kad pirmasis siūlo efektyvesnę ir patikimesnę „proceso procesoriaus naudojimo apribojimo“ funkciją.

Tai nustatoma pagal procentinį procesoriaus naudojimo diapazoną, pastebėtą paleidus abu įrankius tam tikram procesui. Išbandykite abu įrankius ir pridėkite savo minčių prie šio straipsnio naudodami toliau pateiktą atsiliepimų formą.