Linux Cgroupகளை எவ்வாறு கட்டமைப்பது

Linux Cgroupkalai Evvaru Kattamaippatu



வெவ்வேறு கணினி வளங்களை எந்த செயல்முறைகள் பயன்படுத்துகின்றன என்பதை அறிவதும் புரிந்துகொள்வதும் ஒரு கணினி நிர்வாகியாக உங்கள் பணியின் ஒரு பகுதியாகும். அதிர்ஷ்டவசமாக, லினக்ஸ் கர்னல் கட்டுப்பாட்டு குழுக்கள் (cgroups) அம்சத்தைப் பயன்படுத்தி வளங்களை ஒதுக்கவும் நிர்வகிக்கவும் உங்களை அனுமதிக்கிறது, ஆனால் அதை எவ்வாறு கட்டமைப்பது என்பதை நீங்கள் அறிந்திருக்க வேண்டும்.

இந்த இடுகை Linux cgroups ஐ கட்டமைக்க வழிகாட்டுகிறது. அதை வரையறுத்து அதன் பலன்களைப் புரிந்துகொள்வோம். மேலும், நீங்கள் Linux cgroups ஐ எவ்வாறு கட்டமைக்க முடியும் என்பதைப் பார்ப்போம். ஆரம்பித்துவிடுவோம்!







லினக்ஸில் Cgroupகள் என்றால் என்ன

லினக்ஸ் கர்னல் பல்வேறு செயல்முறைகளுக்கு கணினி வளங்களை நிர்வகிக்க அனுமதிக்கும் அம்சமாக cgroups ஐ வழங்குகிறது. cgroups க்கு நன்றி, ஒரு செயல்முறை அல்லது செயல்முறைகளின் குழுக்களுடன் கணினி வளங்களின் அளவைக் கட்டுப்படுத்துவது ஏகபோகத்தை அகற்றப் பயன்படுகிறது மற்றும் நியாயமான வள ஒதுக்கீடு சாத்தியம் என்பதை உறுதி செய்கிறது. Cgroups பின்வரும் பாத்திரங்களை வகிக்க உதவுகின்றன:



1. வள ஒதுக்கீடு



Cgroups இன் முதன்மை நோக்கம் வள ஒதுக்கீடு ஆகும். நினைவகம், பிணைய அலைவரிசை, CPU போன்ற வளங்களை எந்த செயல்முறை அல்லது செயல்முறைகளின் குழுவிற்கும் விரைவாக ஒதுக்கலாம். எந்தவொரு செயல்முறையும் கணினி வளங்களை ஏகபோகமாக்காமல் இருப்பதை உறுதி செய்வதன் மூலம் உங்கள் கணினியின் செயல்திறனை மேம்படுத்துவதே இதன் யோசனை. வளங்களை நியாயமான முறையில் விநியோகிப்பதன் மூலம் நீங்கள் ஒரு நிலையான கணினி செயல்திறனைப் பெறுவீர்கள்.





2. முன்னுரிமை

உங்களிடம் அதிக முன்னுரிமையுள்ள பணிகள் அல்லது செயல்முறைகள் இருக்கும் சூழ்நிலையை கற்பனை செய்து பாருங்கள். இது போன்ற ஒரு சந்தர்ப்பத்தில், குறிப்பாக அதிக சுமை உள்ள இடங்களில், எதிர்பார்ப்புகளை பூர்த்தி செய்வதை உறுதிசெய்ய, அத்தகைய பணிகளுக்கு உங்கள் கணினி ஆதாரங்களுக்கு முன்னுரிமை அளிக்க வேண்டும். எடுத்துக்காட்டாக, உங்களிடம் தாமதம் உணர்திறன் செயல்முறை அல்லது அதிக CPU பயன்பாடு தேவைப்படும் வேலை இருந்தால், நீங்கள் cgroups ஐப் பயன்படுத்தி அதிக ஆதாரங்களை முன்னுரிமை செய்து ஒதுக்கலாம்.



3. வள தனிமைப்படுத்தல்

வள எல்லைகளை உருவாக்க உங்களை அனுமதிப்பதன் மூலம், வளங்களை தனிமைப்படுத்தவும் வரம்புகளைச் செயல்படுத்தவும் cgroups உங்களை அனுமதிக்கிறது. அந்த வகையில், பயன்பாடுகளுக்கிடையேயான குறுக்கீடுகளை நீங்கள் தடுக்கலாம், குறிப்பாக வெவ்வேறு பயன்பாடுகள் அல்லது பயனர்கள் ஒரே அமைப்பைப் பயன்படுத்தும் போது.

4. கொள்கலன்களுக்கான ஆதரவு

டோக்கர் போன்ற கண்டெய்னரைசேஷன் விருப்பங்களுடன் பணிபுரியும் போது, ​​தனிமைப்படுத்தப்பட்ட சூழல்களில் இயங்குமாறு கொள்கலன்களை அமைக்க வேண்டும், cgroups உங்களை இலகுவான சூழல்களை உருவாக்க உதவுகிறது. தனிமைப்படுத்தப்பட்ட ஹோஸ்டில் உள்ள வளங்களை நீங்கள் பாதுகாப்பாகவும் திறமையாகவும் ஒதுக்கலாம்.

5. வள கண்காணிப்பு

cgroup ஐப் பயன்படுத்தி உங்கள் கணினியில் செயல்முறைகளுக்கு ஒதுக்கப்பட்ட பல்வேறு ஆதாரங்களின் புள்ளிவிவரங்களைப் பெறலாம். நீங்கள் சேகரிக்கும் புள்ளிவிவரங்கள் உங்கள் கணினி செயல்திறனை பகுப்பாய்வு செய்வதற்கு ஏற்றதாக இருக்கும். அந்த வகையில், வள விநியோகத்தைத் திட்டமிட உங்களை அனுமதிக்கும் வள இடையூறுகளை நீங்கள் அடையாளம் காணலாம். இந்த நுண்ணறிவுகள், பயன்பாடுகள் எவ்வாறு செயல்படுகின்றன என்பதைப் புரிந்துகொள்வதற்கு, அவற்றை எவ்வாறு மேம்படுத்தலாம் என்பதை வழிகாட்டுவதற்கு ஏற்றதாக இருக்கும்.

Linux Cgroupகளை எவ்வாறு கட்டமைப்பது

கன்டெய்னரைசேஷனின் அதிகரித்து வரும் பிரபலம், வள மேலாண்மை மற்றும் கண்காணிப்புக்கு உதவ லினக்ஸ் cgroupகளின் அதிக பயன்பாட்டிற்கு வழி வகுக்கிறது. இதுவரை, cgroups ஐ வரையறுத்து அதன் பலன்களைப் பார்த்தோம்.

இப்போது, ​​​​அதை எவ்வாறு கட்டமைப்பது என்று பார்ப்போம். நாங்கள் உபுண்டு 22.04 உடன் பணிபுரிகிறோம், ஆனால் இந்த வழிகாட்டி மற்ற லினக்ஸ் டிஸ்ட்ரோக்களுடன் வேலை செய்கிறது. செயல்முறையை இரண்டு பகுதிகளாகப் பிரிக்கிறோம்: நிறுவல் மற்றும் கட்டமைப்பு.

பகுதி 1: நிறுவல்

பின்வரும் படிகளுடன் எங்கள் கணினியில் cgroups ஐ நிறுவுவதன் மூலம் தொடங்குவோம்:

படி 1: Cgroups கருவிகளை நிறுவவும்

நிறுவலுக்கு வழி வகுக்க பொருத்தமான களஞ்சியத்தை புதுப்பிப்பதன் மூலம் தொடங்கவும்.

சூடோ பொருத்தமான மேம்படுத்தல்



அடுத்து, cgroup-tools ஐ நிறுவ பின்வரும் நிறுவல் கட்டளையை இயக்கவும்:

சூடோ பொருத்தமான நிறுவு cgroup-கருவிகள்



பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி dpkg கட்டளையுடன் சரிபார்ப்பதன் மூலம் cgroup நிறுவப்பட்டுள்ளதா என்பதை நீங்கள் சரிபார்க்கலாம்:


நிறுவல் வெற்றிகரமாக இருப்பதைக் காணலாம்.

படி 2: Cgroup ஆதரவை இயக்கவும்

cgroup ஐ நிறுவிய பின், உங்கள் கணினியின் GRUB இல் cgroup ஆதரவை இயக்க வேண்டும். அதற்கு, உரை திருத்தியைப் பயன்படுத்தி, GRUB config கோப்பைத் திறக்கவும். இந்த விஷயத்தில் நானோவைப் பயன்படுத்துகிறோம்.

சூடோ நானோ / முதலியன / இயல்புநிலை / கூழ்



அது திறந்தவுடன், பின்வரும் வரியைக் கண்டறியவும்:

GRUB_CMDLINE_LINUX_DEFAULT ='அமைதியான தெறிப்பு'



“cgroup_enable=memory” ஐ சேர்க்க அதை திருத்தவும்.

GRUB_CMDLINE_LINUX_DEFAULT =”அமைதியான தெறிப்பு cgroup_enable = நினைவகம்'



கோப்பைச் சேமித்து வெளியேறவும்.

படி 3: GRUB ஐப் புதுப்பிக்கவும்

GRUB உள்ளமைவைத் திருத்திய பிறகு, மாற்றங்கள் நடைமுறைக்கு வர நீங்கள் அதை புதுப்பிக்க வேண்டும். இருப்பினும், மாற்றங்களை முழுமையாகச் செய்ய உங்கள் கணினியை மறுதொடக்கம் செய்ய வேண்டும்.

பின்வரும் கட்டளைகளைப் பயன்படுத்தவும்:

சூடோ update-grub



இறுதியாக, உங்கள் கணினியை மறுதொடக்கம் செய்யுங்கள்.

சூடோ மறுதொடக்கம்


படி 4: ஒரு மவுண்ட் பாயிண்டை உருவாக்கவும்

கணினி மறுதொடக்கம் செய்யப்பட்டவுடன், cgroup கோப்பு முறைமைக்கான உங்கள் மவுண்ட் பாயிண்டாக பயன்படுத்த ஒரு கோப்பகத்தை உருவாக்கவும். என நமது கோப்பகத்தை உருவாக்குவோம் /sys/fs/cgroup பின்வருமாறு:

சூடோ mkdir / sys / fs / cgroup



மவுண்ட் பாயிண்ட் உருவாக்கப்பட்டவுடன், நீங்கள் விரும்பும் கட்டுப்படுத்தியுடன் cgroup கோப்பு முறைமையை ஏற்றவும். நீங்கள் பயன்படுத்தக்கூடிய சில கட்டுப்படுத்திகள் நினைவகம், CPU, பிகியோ, உறைவிப்பான், சாதனங்கள் போன்றவை அடங்கும். இந்த உதாரணத்திற்கு நினைவகத்தைப் பயன்படுத்துவோம்.

நீங்கள் பயன்படுத்த வேண்டிய தொடரியல் இங்கே:

சூடோ ஏற்ற -டி cgroup -ஓ < கட்டுப்படுத்தி > cgroup / sys / fs / cgroup


cgroup கோப்பு முறைமையில் பயன்படுத்த நீங்கள் உருவாக்க விரும்பும் இலக்குடன் ஐ மாற்றவும்.


எங்களுடையது ஏற்கனவே ஏற்றப்பட்டுவிட்டது. உங்கள் விஷயத்தில், மவுண்ட் வெற்றிகரமாக உள்ளது என்ற வெளியீட்டைப் பெறுவீர்கள்.

'grep' கட்டளையைப் பயன்படுத்தி பின்வரும் கட்டளையை இயக்குவதன் மூலம் cgroup மவுண்ட் உள்ளதா மற்றும் சரியாக ஏற்றப்பட்டதா என்பதை சரிபார்க்கவும்:

ஏற்ற | பிடியில் cgroup



நீங்கள் அனைத்து படிகளையும் பின்பற்றுகிறீர்கள் என்று வைத்துக்கொள்வோம். முந்தைய வெளியீட்டில் உள்ளதைப் போன்ற ஒரு வெளியீட்டை நீங்கள் பெறுவீர்கள், இது நீங்கள் உருவாக்கிய போது உங்கள் cgroup மவுண்ட் உள்ளது என்பதை உறுதிப்படுத்துகிறது.

பகுதி 2: கட்டமைப்பு

எங்கள் லினக்ஸ் கணினியில் cgroup கருவிகளை நிறுவி, cgroup மவுண்ட்டை உருவாக்கினோம். அந்த இடத்தில், Linux cgroups ஐ எவ்வாறு கட்டமைப்பது என்பதை கடைசியாக தோண்டி எடுக்க வேண்டும். இது எவ்வாறு செயல்படுகிறது என்பதைப் புரிந்துகொள்ள உதவும் ஒரு உதாரணத்தை வழங்குவோம். படியுங்கள்!

cgroups ஐ எவ்வாறு உருவாக்குவது மற்றும் கட்டமைப்பது என்பது உங்கள் தேவைகளைப் பொறுத்தது. தவிர, cgroup படிநிலைகளை உருவாக்குவதில் எந்த கட்டுப்படுத்தியைப் பயன்படுத்துவீர்கள் என்பதை நீங்கள் முதலில் புரிந்து கொள்ள வேண்டும். நீங்கள் cgroup ஐ உருவாக்கியதும், அதை உள்ளமைப்பது உங்கள் கணினி ஆதாரங்களுக்கான அணுகலைக் கட்டுப்படுத்துகிறது. அதை இரண்டு படிகளாகப் பிரிப்போம்.

படி 1: Cgroup படிநிலைகளை உருவாக்கவும்

நீங்கள் cgroup கோப்பு முறைமையை ஏற்றதும், உங்கள் தேவைகளைப் பொறுத்து cgroup படிநிலைகளை உருவாக்க வேண்டும். அதற்கு, பின்வரும் தொடரியல் பயன்படுத்துகிறோம்:

சூடோ mkdir / sys / fs / cgroup /< கட்டுப்படுத்தி >> cgroup_பெயர் >


நமது மெமரி கன்ட்ரோலரில் 'linuxhint' என்ற cgroup ஐ உருவாக்க வேண்டும் என்று வைத்துக்கொள்வோம். நாங்கள் பின்வருமாறு தொடர்கிறோம்:

சூடோ mkdir / sys / fs / cgroup / நினைவு / linuxhint



இப்போது நாம் cgroup ஐ உருவாக்கியுள்ளோம், கணினி வள நிர்வாகத்தின் ஒரு பகுதியாக என்ன அளவுருக்களை ஒதுக்க வேண்டும் என்பதை வரையறுப்பதன் மூலம் அதை உள்ளமைப்போம்.

படி 2: அளவுருக்களை ஒதுக்கவும்

ஒவ்வொரு கட்டுப்படுத்தியும் நீங்கள் ஒதுக்க விரும்பும் கணினி வளத்தைப் பொறுத்து நீங்கள் குறிப்பிடும் வெவ்வேறு அளவுருக்களுடன் வருகிறது. எனவே, ஒரு cgroup ஐ கட்டமைக்கும்போது, ​​தேர்ந்தெடுக்கப்பட்ட கட்டுப்படுத்தியின் அளவுருக்கள் என்ன என்பதை நீங்கள் அறிந்திருக்க வேண்டும்.

கட்டமைப்பில் பின்வரும் தொடரியல் பயன்படுத்தவும்:

எதிரொலி < மதிப்பு > > / sys / fs / cgroup /< கட்டுப்படுத்தி >> cgroup-பெயர் >> கட்டுப்படுத்தி-அளவுரு >


1 ஜிபி நினைவக வரம்புடன் ஒதுக்க 'linuxhint' என்று பெயரிடப்பட்ட நினைவக cgroup ஐ உள்ளமைப்பதற்கான ஒரு எடுத்துக்காட்டு இங்கே. அதற்கு, 'memory.limit_in_bytes' அளவுருவைப் பயன்படுத்துகிறோம். நீங்கள் கட்டமைக்கக்கூடிய பிற நினைவக அளவுருக்களைத் தேடலாம்.

எங்கள் கட்டளையை பின்வருமாறு செயல்படுத்துகிறோம்:

எதிரொலி 1ஜி > / sys / fs / cgroup / நினைவு / linuxhint / memory.limit_in_bytes



உங்கள் தேவைகளுக்கு ஏற்ப எந்த அளவுருவையும் நீங்கள் குறிப்பிடலாம். உங்கள் கணினியில் உள்ள எந்த கன்ட்ரோலரையும் மாற்றியமைக்கவும், அதற்கான cgroups ஐ உருவாக்கவும், பின்னர் அதை உள்ளமைக்கவும் நாங்கள் முன்னர் விவரித்த செயல்முறையைப் பின்பற்றவும். நீங்கள் மேலும் cgroups உருவாக்க மற்றும் அவற்றை கட்டமைக்க இலவசம். எளிதாக நினைவில் வைத்துக்கொள்ள நீங்கள் கவனம் செலுத்த விரும்பும் கன்ட்ரோலரின் பெயருடன் சீரமைக்க cgroups என்று பெயரிட பரிந்துரைக்கப்படுகிறது.

CPU கன்ட்ரோலருக்காக ஒரு cgroup ஐ உருவாக்கும் மற்றொரு உதாரணத்தைப் பார்ப்போம். பின்வருமாறு ஒரு cgroup படிநிலையை உருவாக்குவதன் மூலம் தொடங்கவும்:

சூடோ mkdir / sys / fs / cgroup / cpu / linux-cpu



அடுத்து, உங்கள் தேவையின் அடிப்படையில் CPU ஆதாரங்களை ஒதுக்க அளவுரு மதிப்புகளை ஒதுக்கவும். உதாரணமாக, ஒரு cgroup இன் ஆதாரங்களுக்கான அணுகல் ஒதுக்கப்பட வேண்டிய மைக்ரோ செகண்ட் கால அளவைக் குறிப்பிடுவதற்கு, cpu.cfs_period_us உடன் பணிபுரிவோம். இந்த வழக்கில் 1000 மைக்ரோ விநாடிகளாக அமைக்கலாம்.


நீங்கள் Linux cgroups ஐ உருவாக்கி கட்டமைப்பது இப்படித்தான். நீங்கள் பயன்படுத்தும் லினக்ஸ் டிஸ்ட்ரோவைப் பொறுத்து படிகள் சிறிது வேறுபடலாம். ஆயினும்கூட, இந்த இடுகை நீங்கள் பின்பற்ற வேண்டிய பொதுவான வழிமுறைகளை முன்வைக்கிறது.

முடிவுரை

இந்த இடுகை Linux cgroups மீது கவனம் செலுத்தியது. Linux cgroups என்றால் என்ன மற்றும் கணினி நிர்வாகிகளுக்கு அது வழங்கும் பலன்களைப் புரிந்து கொண்டு தொடங்கினோம். அடுத்து, உபுண்டு 22.04 இல் cgroups இன்னும் நிறுவப்படவில்லை என்றால், அதை நிறுவ பின்பற்ற வேண்டிய படிகளைக் கற்றுக்கொண்டோம். மேலும், Linux cgroups ஐ கட்டமைக்க, ஒரு மவுண்ட் பாயிண்டை உருவாக்குவது, cgroup ஐ உருவாக்குவது, அளவுருக்களை உள்ளமைப்பது போன்ற படிகளை நாங்கள் வழங்கினோம். Linux cgroups ஐ எவ்வாறு கட்டமைப்பது என்பதை நீங்கள் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். அதை முயற்சி செய்து, உங்கள் கணினியின் செயல்திறனில் குறுக்கிடாமல் இருக்க என்ன அளவுருக்களை மாற்றுகிறீர்கள் என்பதில் ஆர்வமாக இருங்கள்.