Kaip nustatyti „Linux“ procesų prioritetus naudojant „Nice“ ir „Renice“

Atliekant įvairias „Linux“ operacinių sistemų valdymo užduotis, idealu būtų išsamiai žinoti, kaip procesai veikia sistemoje, nes tai būtina norint užbaigti ir žinoti, kaip kiekvienas procesas iš vidaus atlieka tą funkciją, kuriai jis buvo sukurtas.

Šiandien „Solvetic“ išsamiai išanalizuos, kaip teikti pirmenybę mūsų „Linux“ distribucijų procesams, naudojant gražią ir renice.

Kokie yra proceso prioritetai „Linux“Prieš žinant, kaip gražiai ir nuodugniai veikia, svarbu šiek tiek suprasti, kodėl tam tikro „Linux“ proceso prioriteto, proceso prioriteto, nustatymas naudojamas norint nustatyti, kiek laiko pasirinktas procesas galės naudoti procesorių per tam tikrą laiką.

„Linux“ aplinkoje procesorius dalijasi keli procesai (procesai pakaitomis naudojami naudojant turimą (-us) procesorių), o tai leidžia vartotojui suvokti, kad visos programos ar užduotys vykdomos vienu metu, todėl nustatant prioritetą , sistemai nurodome, kurie procesai gali labiau panaudoti procesorių, o kurie procesai užima antrą vietą.

Šis prioritetas gali lemti tai, kad kai kurie procesai nebus vykdomi bet kuriuo metu, nes juos proceso eilės pabaigoje perkelia kiti procesai, kurių naudojimo prioritetas yra didesnis.

Kaip branduolio planavimo priemonė veikia „Linux“Kitas dalykas, kurį reikia atsiminti valdant „Linux“ sistemas, yra branduolio, atsakingo už paleidimą, išmanymas. Jo branduolyje yra programuotojas arba planuotojas, kuris yra branduolio vienetas, kuris nustato tinkamiausią procesą iš visų galimų vykdomųjų procesų, kurie turi būti vykdomi pirmiausia. Tada jis paskirsto procesoriaus laiką tarp vykdomų sistemos procesų.

Vykdomasis procesas yra tas, kuris laukia tik procesoriaus laiko. Programuotojas suformuoja daugiafunkcinį branduolį „Linux“, naudodamasis prioritetų planavimo algoritmu, kad pasirinktų iš vykdomų sistemos procesų. Tada jis klasifikuoja procesus pagal pagrindinius, taip pat kiekvieno iš jų procesoriaus laiko reikalavimus.

„Linux“ sistemoje iš viso yra 140 prioritetų ir du skirtingi prioritetų diapazonai:

  • Pirmasis yra graži vertė, kuri svyruoja nuo -20 (aukščiausio prioriteto vertė) iki 19 (mažiausia prioriteto vertė), o numatytoji vertė yra 0.
  • Antrasis yra realaus laiko prioritetas, kuris pagal numatytuosius nustatymus yra nuo 1 iki 99, tada 100–139 yra skirti vartotojo erdvei.

1. „Linux“ procesų verčių tikrinimas


„Linux“ galime patikrinti proceso vertes naudodami tokias paslaugas kaip ps, top arba htop.
Jei naudojame ps parametrą, galime atlikti šiuos veiksmus:
 ps -eo pid, ppid, ni, comm
Ten stulpelis neatskleidžia kiekvieno proceso vertės:

DIDELIS

Arba galime naudoti viršutinius arba htop parametrus, kur galime matyti daug išsamesnių rezultatų, ir automatiškai pamatysime stulpelį su tomis pačiomis kiekvieno rodomo proceso reikšmėmis:

viršuje

DIDELIS

htop

DIDELIS

PastabaJei neturime htop, galime jį įdiegti vykdydami eilutę sudo apt install htop

2. Skirtumas tarp PR arba PRI ir NI ir kaip apskaičiuoti jų vertes


Kai vykdome viršutinius ir htop parametrus, galime matyti PR, PRI arba NI stulpelius, jie reiškia:

NIEKASTai draugiška vertybė, tai yra, tai vartotojo erdvės koncepcija

PR / PRITai tikrasis proceso prioritetas, šią informaciją teikia „Linux“ branduolys

Šios vertybės pagrįstos šiais dalykais.

 Bendras prioritetų skaičius = 140 Realaus laiko prioritetų diapazonas (PR arba PRI): nuo 0 iki 99 Vartotojo erdvės prioritetų diapazonas: 100–139 NI reikšmių diapazonas („Nice Value“) –20–19: PR = 20 + NI PR = 20 + ( Nuo -20 iki + 19) PR = 20 + -20 iki 20 + 19 PR = nuo 0 iki 39, tai yra nuo 100 iki 139
Jei rodomuose rezultatuose matome rt reikšmę, tai rodo, kad procesas vykdomas pagal planavimo prioritetą realiuoju laiku.

3. Kaip paleisti komandą su „Nice“ verte „Linux“


„Nice“ yra atsakinga už tam tikro prioriteto priskyrimą programai, kai ji vykdoma, ir paveldėjimą užduotims bei procesams, kuriuos ši programa gali sukelti sistemoje. „Nice“ taikoma, kai turime programą ar užduotį, kuriai reikia daug procesoriaus, bet taip pat, kad šis procesas gali užtrukti ilgai, o naudojant „nice“ komandą bus galima sukonfigūruoti aukštą ar palankų prioritetą.

Sintaksė, kurią galime naudoti, yra tokia:

 nice -n nice-value [komandos argumentai] nice-nice-value [komandos argumentai] nice --adjustment = nice-value [komandos argumentai]
Apsvarstykite šiuos dalykus:
  • Jei vertė nenurodyta, „Nice“ pagal numatytuosius nustatys 10 prioritetą
  • Komanda ar programa, vykdoma be numatytųjų reikšmių, nustatoma į nulio prioritetą
  • Tik pagrindinis vartotojas gali vykdyti komandą ar programą, turinčią aukštesnį ar aukštesnį prioritetą
  • Įprasti vartotojai gali vykdyti komandą ar programą tik su mažu prioritetu
Norėdami nustatyti prioritetą, vietoj to, kad paleistumėte programą ar komandą su numatytu prioritetu, galėsite ją paleisti su konkrečiu prioritetu naudodami šią gražią komandą:
 sudo nice -n -5 xclock &
Arba galime atlikti šiuos veiksmus:
 sudo nice -koregavimas = 5 xclock &

DIDELIS

Matome, kad sukuriamas naujas ID.

4. Pakeiskite „Linux“ proceso planavimo prioritetą


Naudojant „Linux“ aplinką, tai leidžia dinamiškai programuoti pagal prioritetus, todėl, jei programa jau vykdoma, jos prioritetą bus galima pakeisti naudojant komandą renice taip:
 renice -n -12 -p (PID) renice -n -2 -u (programa)
Vykdydami šią komandą galėsime matyti seną ir naują prioritetą.

DIDELIS

5. Kaip nustatyti „Nice“ numatytąjį nustatymą konkretaus vartotojo procesams


Galite nustatyti numatytąją konkretaus vartotojo ar grupės vertę faile /etc/security/limits.conf. Pagrindinė jo funkcija yra nustatyti išteklių apribojimus vartotojams, prisijungusiems per PAM.

Sintaksė apibrėžti vartotojo apribojimą yra tokia:

 
Arba bus galima sukurti failą /etc/security/limits.d/, kuris pasirūpins pagrindinio failo konfigūracijos nepaisymu ir šie failai bus skaitomi abėcėlės tvarka.

Jei norime sulaukti gražios pagalbos, galime atlikti šiuos veiksmus:

 vyras gražus vyras Renice

DIDELIS

Taigi mes turime galimybę nustatyti prioritetus pagal procesų poreikius, kur kas labiau optimizuoti CPU naudojimą „Linux“ ir žymiai pagerinti administracines užduotis.

wave wave wave wave wave