CPUTool - apriboti ir valdyti procesoriaus naudojimą bet kuriame „Linux“ procese


Viena iš svarbiausių „Linux“ našumo stebėjimo įrankių sričių, skirta stebėti, kaip viskas klostosi sistemoje.

Daugelis šių įrankių tiesiog pateikia sistemos būseną/statistiką, o keli kiti suteikia jums galimybę valdyti sistemos našumą. Vienas iš tokių įrankių, vadinamas „CPUTool“.

„CPUTool“ yra paprastas, bet galingas komandinės eilutės įrankis, leidžiantis apriboti ir kontroliuoti bet kurio proceso procesoriaus naudojimą iki tam tikros ribos ir leidžia pertraukti proceso vykdymą, jei sistemos apkrova viršija nustatytą ribą.

Siekdama apriboti procesoriaus naudojimą, „cputool“ siunčia SIGSTOP ir SIGCONT signalus į procesus ir tai lemia sistemos apkrova. Jis remiasi/proc pseudofailų sistema nuskaitydamas PID ir jų procesoriaus naudojimo priemones.

Jis gali būti naudojamas norint apriboti procesoriaus naudojimą ar sistemos apkrovą, kuriai įtakos turi vienas procesas ar procesų grupė, iki tam tikros ribos ir (arba) sustabdyti procesus, jei sistemos apkrova viršija slenkstį.

Įdiekite „CPUTool“, kad apribotumėte procesoriaus naudojimą ir apkrovos vidurkį

„CPUTool“ galima įdiegti tik „Debian“/„Ubuntu“ ir jo dariniuose iš numatytųjų sistemos saugyklų, naudojant paketų valdymo įrankį.

$ sudo apt install cputool

Dabar apžvelkime, kaip iš tikrųjų veikia „cputool“. Norėdami viską parodyti, vykdysime komandą „dd“, kurios rezultatas turėtų būti didelis procesoriaus procentas, fone ir rodyti jo PID.

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

Norėdami stebėti procesoriaus naudojimą, galime naudoti žvilgsnio įrankius, kurie leidžia mums reguliariai atnaujinti veikiančios „Linux“ sistemos procesų būseną realiuoju laiku:

# top

Iš aukščiau pateiktos išvesties galime pamatyti, kad komandai dd yra didžiausias procesoriaus laiko procentas 99,7%) Dabar mes galime tai apriboti naudodami „cputool“, kaip parodyta žemiau.

Vėliava --cpu-limit arba -c naudojama nustatyti procentą procesui ar procesų grupei, o -p nurodyti PID. Ši komanda apribos komandą dd (PID 8275) iki 50% vieno procesoriaus šerdies naudojimo:

# cputool --cpu-limit 50 -p 8275 

Paleidę „cputool“, galime dar kartą patikrinti naują procesoriaus naudojimą (PID 8275). Dabar procesoriaus naudojimas dd procesui turėtų svyruoti nuo (49,0% -52,0%).

# top

Norėdami dar labiau apriboti „dd“ procesoriaus naudojimą iki 20%, „cputool“ galime paleisti antrą kartą:

# cputool --cpu-limit 20 -p 8275 

Tada nedelsdami patikrinkite tokius įrankius kaip žvilgsniai (CPD naudojimas dd dabar turėtų svyruoti nuo 19,0% iki 22,0% arba šiek tiek viršyti):

# top

Atkreipkite dėmesį, kad apvalkalas nesitiki vartotojo įvesties, kai veikia „cputool“; todėl tampa nereaguojantis. Norėdami jį užmušti (tai sustabdys procesoriaus naudojimo apribojimo operaciją), paspauskite Ctrl + C .

Svarbu, kad nurodytumėte proceso grupę (vieną programą su keletu veikiančių egzempliorių, kiekvienam iš kurių yra atskiras PID), pvz., HTTP žiniatinklio serveriui:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Naudokite vėliavą -P taip:

# cputool --cpu-limit 20 -P 1780

Parinktis -l naudojama norint nurodyti didžiausią sistemos apkrovą, kad procesas ar procesų grupė galėtų toliau veikti. Galime naudoti trupmeninę vertę (pvz., 2,5).

Žemiau pateiktas pavyzdys reiškia, kad vietinei atsarginei kopijai paleisti „rsync“ reikia atlikti tik tada, kai sistemos apkrova neviršija 3,5:

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

Norėdami gauti daugiau informacijos ir naudojimą, peržiūrėkite „CPUTool“ žmogaus puslapį:

# man cputool

Peržiūrėkite šiuos naudingus vadovus, kaip rasti procesoriaus informaciją ir procesoriaus našumo stebėjimą:

  1. 9 naudingos komandos norint gauti procesoriaus informaciją sistemoje „Linux“
  2. „Cpustat“ - stebi procesoriaus naudojimą vykdant procesus sistemoje „Linux“
  3. „CoreFreq“ - galingas „Linux“ sistemų procesorių stebėjimo įrankis
  4. Raskite geriausius veikiančius procesus pagal didžiausią „Linux“ atminties ir procesoriaus naudojimą

Apibendrinant galima pasakyti, kad „CPUTool“ tikrai praverčia valdant „Linux“ našumą. Pasidalykite mintimis apie šį straipsnį naudodamiesi žemiau esančia atsiliepimų forma.