Kaip sukonfigūruoti Linux C grupes

Kaip Sukonfiguruoti Linux C Grupes



Žinojimas ir supratimas, kokie procesai sunaudoja skirtingus sistemos išteklius, yra jūsų, kaip sistemos administratoriaus, užduoties dalis. Laimei, Linux branduolys leidžia paskirstyti ir valdyti išteklius naudojant valdymo grupių (cgroups) funkciją, tačiau jūs turite žinoti, kaip ją sukonfigūruoti.

Šiame įraše pateikiami nurodymai, kaip konfigūruoti „Linux“ cgrupes. Mes jį apibūdinsime ir suprasime jo naudą. Be to, pamatysime, kaip galite sukonfigūruoti Linux cgrupes. Pradėkime!







Kas yra „Cgroups“ sistemoje „Linux“.

Linux branduolys siūlo cgroups kaip funkciją, leidžiančią valdyti sistemos išteklius įvairiems procesams. Cgroups dėka sistemos išteklių kiekio apribojimas procesui ar procesų grupėms gali būti naudojamas siekiant pašalinti monopolizaciją ir užtikrinti teisingą išteklių paskirstymą. Cgrupės padeda atlikti šiuos vaidmenis:



1. Išteklių paskirstymas



Pagrindinis cgroup tikslas yra išteklių paskirstymas. Galite greitai paskirstyti išteklius, pvz., atmintį, tinklo pralaidumą, centrinį procesorių ir kt., bet kuriam procesui ar procesų grupei. Idėja yra pagerinti jūsų sistemos našumą užtikrinant, kad joks procesas nemonopoluotų sistemos išteklių. Sąžiningai paskirstę išteklius, sistemos veikimas bus stabilus.





2. Prioritetų nustatymas

Įsivaizduokite situaciją, kai turite aukšto prioriteto užduotis ar procesus. Tokiu atveju turite nustatyti pirmenybę savo sistemos ištekliams tokioms užduotims atlikti, kad užtikrintumėte, jog jie atitinka lūkesčius, ypač kai yra didelė apkrova. Pavyzdžiui, jei turite delsai jautrų procesą arba darbą, kuriam reikia daug procesoriaus, galite nustatyti prioritetus ir priskirti daugiau išteklių naudodami cgroups.



3. Išteklių izoliavimas

Leisdami sukurti išteklių ribas, cgroups leidžia išskirti išteklius ir vykdyti apribojimus. Tokiu būdu galite išvengti trukdžių tarp programų, ypač kai skirtingos programos arba vartotojai naudoja tą pačią sistemą.

4. Konteinerių palaikymas

Kai dirbate su konteinerių sudarymo parinktimis, pvz., „Docker“, kur turite nustatyti konteinerius, kad jie veiktų izoliuotoje aplinkoje, cgroups leidžia kurti lengvas aplinkas. Jūs galite saugiai ir efektyviai paskirstyti išteklius izoliuotame pagrindiniame kompiuteryje.

5. Išteklių stebėjimas

Naudodami cgroup galite gauti statistiką apie skirtingus išteklius, priskirtus jūsų sistemos procesams. Jūsų surinkta statistika puikiai tinka sistemos našumui analizuoti. Tokiu būdu galite nustatyti išteklių kliūtis, kurios leidžia planuoti išteklių paskirstymą. Šios įžvalgos puikiai tinka norint suprasti, kaip veikia programos, kad galėtumėte jas optimizuoti.

Kaip sukonfigūruoti Linux C grupes

Vis populiarėjantis konteinerizavimas atveria kelią plačiau naudoti Linux cgroups, padedančias valdyti ir stebėti išteklius. Iki šiol apibrėžėme cgrupes ir matėme jų naudą.

Dabar pažiūrėkime, kaip galime jį sukonfigūruoti. Dirbame su Ubuntu 22.04, tačiau šis vadovas veikia su kitais Linux platinimais. Procesą padalijame į dvi dalis: diegimą ir konfigūravimą.

1 dalis: montavimas

Pradėkime nuo cgroups įdiegimo mūsų sistemoje atlikdami šiuos veiksmus:

1 veiksmas: įdiekite „Cgroups“ įrankius

Pradėkite nuo tinkamos saugyklos atnaujinimo, kad būtų sudarytos sąlygos diegimui.

sudo tinkamas atnaujinimas



Tada paleiskite šią diegimo komandą, kad įdiegtumėte cgroup-tools:

sudo apt diegti cgroup įrankiai



Galite patikrinti, ar cgroup yra įdiegta, patikrinę ją komanda dpkg, kaip parodyta toliau:


Matome, kad diegimas pavyko.

2 veiksmas: įjunkite Cgroup palaikymą

Įdiegę cgroup, savo sistemos GRUB turite įjungti cgroup palaikymą. Norėdami tai padaryti, naudokite teksto rengyklę ir atidarykite GRUB konfigūracijos failą. Šiuo atveju naudojame nano.

sudo nano / ir tt / numatytas / grub



Kai jis atsidarys, raskite šią eilutę:

GRUB_CMDLINE_LINUX_DEFAULT ='tylus purslas'



Pakeiskite jį, kad įtrauktumėte „cgroup_enable=memory“.

GRUB_CMDLINE_LINUX_DEFAULT ='tylus purslų cgroup_enable =atmintis'



Išsaugokite failą ir išeikite.

3 veiksmas: atnaujinkite GRUB

Pakeitę GRUB konfigūraciją, turite ją atnaujinti, kad pakeitimai įsigaliotų. Vis dėlto, norėdami atlikti pakeitimus, turite iš naujo paleisti sistemą.

Naudokite šias komandas:

sudo update-grub



Galiausiai iš naujo paleiskite sistemą.

sudo paleisti iš naujo


4 veiksmas: sukurkite tvirtinimo tašką

Kai sistema bus paleista iš naujo, sukurkite katalogą, kurį naudosite kaip cgroup failų sistemos prijungimo tašką. Sukurkime savo katalogą kaip /sys/fs/cgroup taip:

sudo mkdir / sys / fs / cgrupė



Sukūrę prijungimo tašką, prijunkite cgroup failų sistemą pasirinktu valdikliu. Kai kurie valdikliai, kuriuos galite naudoti, apima atmintį, centrinį procesorių, bikio, šaldiklį, įrenginius ir kt. Šiam pavyzdžiui panaudokime atmintį.

Štai sintaksė, kurią turėtumėte naudoti:

sudo kalnas -t cgrupė -O < valdiklis > cgrupė / sys / fs / cgrupė


Pakeiskite tiksliniu, kurį norite sukurti naudoti cgroup failų sistemoje.


Savo jau sumontavome. Jūsų atveju gausite išvestį, kad tvirtinimas sėkmingas.

Patikrinkite, ar cgroup prijungimas egzistuoja ir yra tinkamai prijungtas, vykdydami šią komandą naudodami komandą „grep“:

kalnas | sukibimas cgrupė



Tarkime, kad atlikote visus veiksmus. Gausite išvestį, panašią į ankstesnėje išvestyje pateiktą išvestį, kuri patvirtina, kad jūsų cgroup prijungimas egzistuoja, kai jį sukūrėte.

2 dalis: Konfigūracija

Įdiegėme cgroup įrankius savo Linux sistemoje ir sukūrėme cgroup laikiklį. Kai tai yra, paskutinis dalykas yra įsigilinti, kaip sukonfigūruoti „Linux“ cgrupes. Pateiksime pavyzdį, kuris padės suprasti, kaip tai veikia. Skaityk!

Tai, kaip kuriate ir konfigūruojate cgrupes, priklauso nuo jūsų reikalavimų. Be to, pirmiausia turite suprasti, kurį valdiklį naudosite kurdami cgroup hierarchijas. Sukūrę cgroup, ją konfigūruodami apribosite prieigą prie sistemos išteklių. Padalinkime jį į du etapus.

1 veiksmas: sukurkite Cgrupių hierarchijas

Prijungę cgroup failų sistemą, turite sukurti cgroup hierarchijas, atsižvelgdami į savo poreikius. Tam naudojame šią sintaksę:

sudo mkdir / sys / fs / cgrupė /< valdiklis >>< cgroup_name >


Tarkime, kad savo atminties valdiklyje norime sukurti cgroup pavadinimu „linuxhint“. Mes elgiamės taip:

sudo mkdir / sys / fs / cgrupė / atmintis / linuxhint



Dabar, kai sukūrėme cgroup, eikime į priekį ir sukonfigūruosime ją nustatydami, kokius parametrus priskirti kaip sistemos išteklių valdymo dalį.

2 veiksmas: priskirkite parametrus

Kiekvienas valdiklis turi skirtingus parametrus, kuriuos nurodote priklausomai nuo sistemos išteklių, kuriuos norite priskirti. Taigi, konfigūruodami cgroup, turėtumėte žinoti, kokius pasirinkto valdiklio parametrus naudosite.

Konfigūracijoje naudokite šią sintaksę:

aidas < vertė > > / sys / fs / cgrupė /< valdiklis >>< cgrupės pavadinimas >>< valdiklis-parametras >


Štai pavyzdys, kaip sukonfigūruoti atminties cgrupę, kurią anksčiau sukūrėme pavadinimu „linuxhint“, kad jai būtų priskirta 1 GB atminties riba. Tam naudojame parametrą „memory.limit_in_bytes“. Galite ieškoti kitų atminties parametrų, kuriuos galite konfigūruoti.

Mes vykdome savo komandą taip:

aidas 1G > / sys / fs / cgrupė / atmintis / linuxhint / memory.limit_in_bytes



Galite nurodyti bet kurį parametrą, atitinkantį jūsų reikalavimus. Atlikite anksčiau aprašytą procesą, kad pakeistumėte bet kurį valdiklį savo sistemoje, sukurtumėte jam cgrupes ir sukonfigūruotumėte. Galite laisvai kurti daugiau cgrupių ir jas konfigūruoti. Rekomenduojama pavadinti cgrupes, kad jos būtų suderintos su valdiklio, į kurį norite sutelkti dėmesį, pavadinimu, kad būtų lengviau įsiminti.

Turime dar vieną pavyzdį, kai sukuriame cgroup procesoriaus valdikliui. Pradėkite kurdami cgroup hierarchiją taip:

sudo mkdir / sys / fs / cgrupė / cpu / Linux-cpu



Tada priskirkite parametrų reikšmes, kad paskirstytumėte procesoriaus išteklius pagal jūsų poreikius. Pavyzdžiui, dirbkime su cpu.cfs_period_us, kuris leidžia nurodyti mikrosekundžių trukmę, per kurią turi būti skirta cgroup prieiga prie išteklių. Šiuo atveju nustatykime 1000 mikrosekundžių.


Taip sukuriate ir konfigūruojate „Linux“ cgrupes. Veiksmai gali šiek tiek skirtis priklausomai nuo jūsų naudojamo Linux platinimo. Nepaisant to, šiame įraše pateikiami bendrieji veiksmai, kurių turėtumėte laikytis.

Išvada

Šiame įraše daugiausia dėmesio buvo skiriama Linux cgrupėms. Pradėjome nuo supratimo, ką reiškia Linux cgroups ir kokią naudą jos siūlo sistemos administratoriams. Tada sužinojome veiksmus, kuriuos reikia atlikti norint įdiegti cgroups Ubuntu 22.04, jei ji dar neįdiegta. Be to, pristatėme „Linux“ cgrupių konfigūravimo veiksmus nuo prijungimo taško sukūrimo iki cgroup sukūrimo ir parametrų konfigūravimo. Tikimės, kad išmokote konfigūruoti Linux cgroups. Išbandykite ir stebėkite, kokius parametrus pakeisite, kad netrukdytų sistemos veikimui.