Linux Cgroupలను ఎలా కాన్ఫిగర్ చేయాలి

Linux Cgrouplanu Ela Kanphigar Ceyali



సిస్టమ్ అడ్మినిస్ట్రేటర్‌గా మీ పనిలో భాగంగా వివిధ సిస్టమ్ వనరులను వినియోగించే ప్రక్రియలను తెలుసుకోవడం మరియు అర్థం చేసుకోవడం. అదృష్టవశాత్తూ, Linux కెర్నల్ నియంత్రణ సమూహాలు (cgroups) లక్షణాన్ని ఉపయోగించి వనరులను కేటాయించడానికి మరియు నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది, కానీ మీరు దీన్ని ఎలా కాన్ఫిగర్ చేయాలో తెలుసుకోవాలి.

ఈ పోస్ట్ Linux cgroups కాన్ఫిగర్ చేయడంపై మార్గనిర్దేశం చేస్తుంది. మేము దానిని నిర్వచించాము మరియు దాని ప్రయోజనాలను అర్థం చేసుకుంటాము. అంతేకాకుండా, మీరు Linux cgroupsని ఎలా కాన్ఫిగర్ చేయవచ్చో మేము చూస్తాము. ప్రారంభిద్దాం!







Linux లో Cgroupలు అంటే ఏమిటి

Linux కెర్నల్ వివిధ ప్రక్రియలకు సిస్టమ్ వనరుల నిర్వహణను అనుమతించడానికి cgroupsని ఒక లక్షణంగా అందిస్తుంది. cgroupsకి ధన్యవాదాలు, ఒక ప్రక్రియ లేదా ప్రక్రియల సమూహాలతో సిస్టమ్ వనరులను పరిమితం చేయడం ద్వారా గుత్తాధిపత్యాన్ని తొలగించడానికి ఉపయోగించవచ్చు మరియు న్యాయమైన వనరుల కేటాయింపు సాధ్యమయ్యేలా చేస్తుంది. Cgroupలు క్రింది పాత్రలను పోషించడంలో సహాయపడతాయి:



1. వనరుల కేటాయింపు



cgroups యొక్క ప్రాథమిక ప్రయోజనం వనరుల కేటాయింపు. మీరు మెమరీ, నెట్‌వర్క్ బ్యాండ్‌విడ్త్, CPU మొదలైన వనరులను ఏదైనా ప్రక్రియ లేదా ప్రక్రియల సమూహానికి త్వరగా కేటాయించవచ్చు. ఏ ప్రక్రియ కూడా సిస్టమ్ వనరులపై గుత్తాధిపత్యం వహించదని నిర్ధారించుకోవడం ద్వారా మీ సిస్టమ్ పనితీరును మెరుగుపరచాలనే ఆలోచన ఉంది. వనరులను బాగా పంపిణీ చేయడం ద్వారా మీరు స్థిరమైన సిస్టమ్ పనితీరును కలిగి ఉంటారు.





2. ప్రాధాన్యత

మీకు అధిక ప్రాధాన్యత కలిగిన పనులు లేదా ప్రక్రియలు ఉన్న పరిస్థితిని ఊహించుకోండి. అటువంటి సందర్భంలో మీరు మీ సిస్టమ్ వనరులను అంచనాలను అందుకోవడానికి, ప్రత్యేకించి భారీ భారం ఉన్న చోట అటువంటి పనులకు ప్రాధాన్యతనివ్వాలి. ఉదాహరణకు, మీరు లేటెన్సీ-సెన్సిటివ్ ప్రాసెస్‌ని కలిగి ఉన్నట్లయితే లేదా భారీ CPU వినియోగం అవసరమయ్యే పనిని కలిగి ఉంటే, మీరు cgroupsని ఉపయోగించి ప్రాధాన్యతనిచ్చి మరిన్ని వనరులను కేటాయించవచ్చు.



3. రిసోర్స్ ఐసోలేషన్

వనరుల సరిహద్దులను సృష్టించడానికి మిమ్మల్ని అనుమతించడం ద్వారా, వనరులను వేరుచేయడానికి మరియు పరిమితులను అమలు చేయడానికి cgroups మిమ్మల్ని అనుమతిస్తాయి. ఆ విధంగా, మీరు అప్లికేషన్‌ల మధ్య అంతరాయాలను నిరోధించవచ్చు, ప్రత్యేకించి వేర్వేరు అప్లికేషన్‌లు లేదా వినియోగదారులు ఒకే సిస్టమ్‌ను ఉపయోగించినప్పుడు.

4. కంటెయినరైజేషన్ కోసం మద్దతు

డాకర్ వంటి కంటెయినరైజేషన్ ఎంపికలతో పని చేస్తున్నప్పుడు, మీరు కంటైనర్‌లను వివిక్త వాతావరణంలో అమలు చేయడానికి సెట్ చేయాలి, cgroups మీరు తేలికైన వాతావరణాలను సృష్టించడానికి అనుమతిస్తుంది. మీరు వివిక్త హోస్ట్‌లో వనరులను సురక్షితంగా మరియు సమర్ధవంతంగా కేటాయించవచ్చు.

5. వనరుల పర్యవేక్షణ

మీరు cgroupని ఉపయోగించి మీ సిస్టమ్‌లోని ప్రాసెస్‌లకు కేటాయించబడిన వివిధ వనరులపై గణాంకాలను పొందవచ్చు. మీరు సేకరించిన గణాంకాలు మీ సిస్టమ్ పనితీరును విశ్లేషించడానికి అనువైనవి. ఆ విధంగా, మీరు వనరుల పంపిణీపై ప్లాన్ చేయడానికి మిమ్మల్ని అనుమతించే వనరుల అడ్డంకులను గుర్తించవచ్చు. మీరు వాటిని ఎలా ఆప్టిమైజ్ చేయవచ్చో మార్గనిర్దేశం చేసేందుకు అప్లికేషన్‌లు ఎలా పనిచేస్తాయో అర్థం చేసుకోవడానికి ఈ అంతర్దృష్టులు అనువైనవి.

Linux Cgroupలను ఎలా కాన్ఫిగర్ చేయాలి

కంటెయినరైజేషన్ యొక్క పెరుగుతున్న ప్రజాదరణ వనరుల నిర్వహణ మరియు పర్యవేక్షణలో సహాయపడటానికి Linux cgroups యొక్క మరింత వినియోగానికి మార్గం సుగమం చేస్తుంది. ఇప్పటివరకు, మేము cgroupsని నిర్వచించాము మరియు దాని ప్రయోజనాలను చూశాము.

ఇప్పుడు, మనం దానిని ఎలా కాన్ఫిగర్ చేయవచ్చో చూద్దాం. మేము Ubuntu 22.04తో పని చేస్తున్నాము, కానీ ఈ గైడ్ ఇతర Linux డిస్ట్రోలతో పని చేస్తుంది. మేము ప్రక్రియను రెండు భాగాలుగా విభజిస్తాము: సంస్థాపన మరియు ఆకృతీకరణ.

పార్ట్ 1: ఇన్‌స్టాలేషన్

కింది దశలతో మన సిస్టమ్‌లో cgroupsని ఇన్‌స్టాల్ చేయడం ద్వారా ప్రారంభిద్దాం:

దశ 1: Cgroups సాధనాలను ఇన్‌స్టాల్ చేయండి

ఇన్‌స్టాలేషన్‌కు మార్గం సుగమం చేయడానికి తగిన రిపోజిటరీని నవీకరించడం ద్వారా ప్రారంభించండి.

సుడో సముచితమైన నవీకరణ



తరువాత, cgroup-toolsని ఇన్‌స్టాల్ చేయడానికి కింది ఇన్‌స్టాలేషన్ ఆదేశాన్ని అమలు చేయండి:

సుడో సముచితమైనది ఇన్స్టాల్ cgroup-టూల్స్



కింది వాటిలో చూపిన విధంగా dpkg కమాండ్‌తో తనిఖీ చేయడం ద్వారా cgroup ఇన్‌స్టాల్ చేయబడిందని మీరు ధృవీకరించవచ్చు:


ఇన్‌స్టాలేషన్ విజయవంతమైందని మనం చూడవచ్చు.

దశ 2: Cgroup మద్దతును ప్రారంభించండి

cgroupని ఇన్‌స్టాల్ చేసిన తర్వాత, మీరు తప్పనిసరిగా మీ సిస్టమ్ GRUBలో cgroup మద్దతును ప్రారంభించాలి. దాని కోసం, టెక్స్ట్ ఎడిటర్‌ని ఉపయోగించండి మరియు GRUB కాన్ఫిగర్ ఫైల్‌ను తెరవండి. మేము ఈ సందర్భంలో నానోను ఉపయోగిస్తున్నాము.

సుడో నానో / మొదలైనవి / డిఫాల్ట్ / గ్రబ్



ఇది తెరిచిన తర్వాత, కింది పంక్తిని కనుగొనండి:

GRUB_CMDLINE_LINUX_DEFAULT ='నిశ్శబ్ద స్ప్లాష్'



“cgroup_enable=memory”ని చేర్చడానికి దాన్ని సవరించండి.

GRUB_CMDLINE_LINUX_DEFAULT =”నిశ్శబ్ద స్ప్లాష్ cgroup_enable =జ్ఞాపకం'



ఫైల్‌ను సేవ్ చేసి నిష్క్రమించండి.

దశ 3: GRUBని నవీకరించండి

GRUB కాన్ఫిగరేషన్‌ని సవరించిన తర్వాత, మార్పులు అమలులోకి రావడానికి మీరు దానిని తప్పనిసరిగా నవీకరించాలి. అయినప్పటికీ, మార్పులను పూర్తిగా ప్రభావితం చేయడానికి మీరు మీ సిస్టమ్‌ను రీబూట్ చేయాలి.

కింది ఆదేశాలను ఉపయోగించండి:

సుడో నవీకరణ-గ్రబ్



చివరగా, మీ సిస్టమ్‌ను పునఃప్రారంభించండి.

సుడో రీబూట్


దశ 4: మౌంట్ పాయింట్‌ను సృష్టించండి

సిస్టమ్ రీబూట్ అయిన తర్వాత, cgroup ఫైల్‌సిస్టమ్ కోసం మీ మౌంట్ పాయింట్‌గా ఉపయోగించడానికి డైరెక్టరీని సృష్టించండి. మన డైరెక్టరీని ఇలా క్రియేట్ చేద్దాం /sys/fs/cgroup క్రింది విధంగా:

సుడో mkdir / sys / fs / cgroup



సృష్టించబడిన మౌంట్ పాయింట్‌తో, మీకు నచ్చిన కంట్రోలర్‌తో cgroup ఫైల్‌సిస్టమ్‌ను మౌంట్ చేయండి. మీరు ఉపయోగించగల కొన్ని కంట్రోలర్‌లలో మెమరీ, CPU, బికియో, ఫ్రీజర్, పరికరాలు మొదలైనవి ఉన్నాయి. ఈ ఉదాహరణ కోసం మెమరీని ఉపయోగిస్తాము.

మీరు ఉపయోగించాల్సిన సింటాక్స్ ఇక్కడ ఉంది:

సుడో మౌంట్ -టి cgroup -ఓ < కంట్రోలర్ > cgroup / sys / fs / cgroup


cgroup ఫైల్‌సిస్టమ్‌లో ఉపయోగించడానికి మీరు సృష్టించాలనుకుంటున్న లక్ష్యంతో <కంట్రోలర్>ని భర్తీ చేయండి.


మేము మాది ఇప్పటికే మౌంట్ చేసాము. మీ విషయంలో, మౌంట్ విజయవంతమైందని మీరు అవుట్‌పుట్ పొందుతారు.

“grep” ఆదేశాన్ని ఉపయోగించి కింది ఆదేశాన్ని అమలు చేయడం ద్వారా cgroup మౌంట్ ఉందని మరియు సరిగ్గా మౌంట్ చేయబడిందని ధృవీకరించండి:

మౌంట్ | పట్టు cgroup



మీరు అన్ని దశలను అనుసరించారని అనుకుందాం. మీరు సృష్టించిన విధంగా మీ cgroup మౌంట్ ఉందని నిర్ధారించే మునుపటి అవుట్‌పుట్‌లోని అవుట్‌పుట్ మాదిరిగానే మీరు అవుట్‌పుట్ పొందుతారు.

పార్ట్ 2: కాన్ఫిగరేషన్

మేము మా Linux సిస్టమ్‌లో cgroup సాధనాలను ఇన్‌స్టాల్ చేసాము మరియు cgroup మౌంట్‌ని సృష్టించాము. దానితో, Linux cgroupsని ఎలా కాన్ఫిగర్ చేయాలనే దానిపై త్రవ్వడం చివరి విషయం. ఇది ఎలా పని చేస్తుందో అర్థం చేసుకోవడంలో మీకు సహాయపడటానికి ఒక ఉదాహరణను చూద్దాం. చదువు!

మీరు cgroupsని ఎలా సృష్టించడం మరియు కాన్ఫిగర్ చేయడం అనేది మీ అవసరాలపై ఆధారపడి ఉంటుంది. అంతేకాకుండా, cgroup సోపానక్రమాలను రూపొందించడంలో మీరు ఏ కంట్రోలర్‌ని ఉపయోగించాలో మీరు ముందుగా అర్థం చేసుకోవాలి. మీరు cgroupని సృష్టించిన తర్వాత, దానిని కాన్ఫిగర్ చేయడం వలన మీ సిస్టమ్ వనరులకు దాని యాక్సెస్‌ని పరిమితం చేయాలి. దానిని రెండు దశలుగా విడదీద్దాం.

దశ 1: Cgroup హైరార్కీలను సృష్టించండి

మీరు cgroup ఫైల్‌సిస్టమ్‌ను మౌంట్ చేసిన తర్వాత, మీ అవసరాలను బట్టి మీరు తప్పనిసరిగా cgroup సోపానక్రమాలను సృష్టించాలి. దాని కోసం, మేము ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగిస్తాము:

సుడో mkdir / sys / fs / cgroup /< కంట్రోలర్ >> cgroup_name >


మన మెమొరీ కంట్రోలర్‌లో “linuxhint” పేరుతో cgroupని సృష్టించాలని అనుకుందాం. మేము ఈ క్రింది విధంగా కొనసాగుతాము:

సుడో mkdir / sys / fs / cgroup / జ్ఞాపకశక్తి / linuxhint



ఇప్పుడు మనకు cgroup సృష్టించబడింది, సిస్టమ్ రిసోర్స్ మేనేజ్‌మెంట్‌లో భాగంగా ఏ పారామితులను కేటాయించాలో నిర్వచించడం ద్వారా దాన్ని కాన్ఫిగర్ చేద్దాం.

దశ 2: పారామితులను కేటాయించండి

ప్రతి కంట్రోలర్ మీరు కేటాయించాలనుకుంటున్న సిస్టమ్ వనరుపై ఆధారపడి మీరు పేర్కొనే విభిన్న పారామితులతో వస్తుంది. కాబట్టి, cgroupని కాన్ఫిగర్ చేస్తున్నప్పుడు, మీరు ఎంచుకున్న కంట్రోలర్ యొక్క ఏ పారామితులను ఉపయోగించాలో మీరు తెలుసుకోవాలి.

కాన్ఫిగరేషన్‌లో కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:

ప్రతిధ్వని < విలువ > > / sys / fs / cgroup /< కంట్రోలర్ >> cgroup-పేరు >> కంట్రోలర్-పారామితి >


1GB మెమరీ పరిమితితో కేటాయించడానికి 'linuxhint' పేరుతో మనం ఇంతకు ముందు సృష్టించిన మెమరీ cgroupని కాన్ఫిగర్ చేయడానికి ఇక్కడ ఒక ఉదాహరణ ఉంది. దాని కోసం, మేము 'memory.limit_in_bytes' పరామితిని ఉపయోగిస్తాము. మీరు కాన్ఫిగర్ చేయగల ఇతర మెమరీ పారామితుల కోసం మీరు శోధించవచ్చు.

మేము మా ఆదేశాన్ని ఈ క్రింది విధంగా అమలు చేస్తాము:

ప్రతిధ్వని 1G > / sys / fs / cgroup / జ్ఞాపకశక్తి / linuxhint / memory.limit_in_bytes



మీరు మీ అవసరాలకు అనుగుణంగా ఉండే ఏదైనా పరామితిని పేర్కొనవచ్చు. మీ సిస్టమ్‌లోని ఏదైనా కంట్రోలర్‌ను సవరించడానికి, దాని కోసం cgroupsని సృష్టించి, ఆపై దాన్ని కాన్ఫిగర్ చేయడానికి మేము గతంలో వివరించిన ప్రక్రియను అనుసరించండి. మీరు మరిన్ని cgroups సృష్టించడానికి మరియు వాటిని కాన్ఫిగర్ చేయడానికి ఉచితం. సులభంగా గుర్తుంచుకోవడానికి మీరు దృష్టి పెట్టాలనుకునే కంట్రోలర్ పేరుతో సమలేఖనం చేయడానికి cgroups పేరు పెట్టాలని సిఫార్సు చేయబడింది.

CPU కంట్రోలర్ కోసం మనం cgroupని సృష్టించే మరొక ఉదాహరణను చూద్దాం. కింది విధంగా cgroup సోపానక్రమాన్ని సృష్టించడం ద్వారా ప్రారంభించండి:

సుడో mkdir / sys / fs / cgroup / cpu / linux-cpu



తర్వాత, మీ అవసరం ఆధారంగా CPU వనరులను కేటాయించడానికి పారామీటర్ విలువలను కేటాయించండి. ఉదాహరణకు, cpu.cfs_period_usతో పని చేద్దాం, అది మైక్రోసెకండ్ వ్యవధిని పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది, ఇది వనరులకు cgroup యాక్సెస్‌ను కేటాయించాలి. ఈ సందర్భంలో దానిని 1000 మైక్రోసెకన్లకు సెట్ చేద్దాం.


మీరు Linux cgroupsని ఎలా సృష్టించి, కాన్ఫిగర్ చేస్తారు. మీరు ఉపయోగిస్తున్న Linux distroని బట్టి దశలు కొద్దిగా మారవచ్చు. అయినప్పటికీ, ఈ పోస్ట్ మీరు అనుసరించాల్సిన సాధారణ దశలను అందిస్తుంది.

ముగింపు

ఈ పోస్ట్ Linux cgroups పై దృష్టి పెట్టింది. మేము Linux cgroups అంటే ఏమిటి మరియు సిస్టమ్ అడ్మినిస్ట్రేటర్‌లకు అందించే ప్రయోజనాలను అర్థం చేసుకోవడం ద్వారా ప్రారంభించాము. తరువాత, ఉబుంటు 22.04 ఇంకా ఇన్‌స్టాల్ చేయకపోతే cgroups ఇన్‌స్టాల్ చేయడానికి అనుసరించాల్సిన దశలను మేము నేర్చుకున్నాము. ఇంకా, మేము Linux cgroupsని కాన్ఫిగర్ చేయడానికి, మౌంట్ పాయింట్‌ని సృష్టించడం నుండి, cgroupని సృష్టించడం వరకు, పారామితులను కాన్ఫిగర్ చేయడం వరకు దశలను అందించాము. ఆశాజనక, మీరు Linux cgroupsని ఎలా కాన్ఫిగర్ చేయాలో నేర్చుకున్నారు. దీన్ని ప్రయత్నించండి మరియు మీ సిస్టమ్ పనితీరుతో జోక్యం చేసుకోకుండా ఉండటానికి మీరు ఏ పారామితులను సవరించాలో ఆసక్తిగా ఉండండి.