لینکس سی گروپس کو کنفیگر کرنے کا طریقہ

Lynks Sy Grwps Kw Knfygr Krn Ka Tryq



یہ جاننا اور سمجھنا کہ کون سے عمل مختلف سسٹم کے وسائل کو استعمال کرتے ہیں بحیثیت سسٹم ایڈمنسٹریٹر آپ کے کام کا حصہ ہے۔ خوش قسمتی سے، لینکس کرنل آپ کو کنٹرول گروپس (cgroups) کی خصوصیت کا استعمال کرتے ہوئے وسائل کو مختص کرنے اور ان کا نظم کرنے کی اجازت دیتا ہے، لیکن آپ کو یہ معلوم ہونا چاہیے کہ اسے کس طرح ترتیب دینا ہے۔

یہ پوسٹ لینکس سی گروپس کو ترتیب دینے پر رہنمائی کرتی ہے۔ ہم اس کی تعریف کریں گے اور اس کے فوائد کو سمجھیں گے۔ مزید یہ کہ، ہم دیکھیں گے کہ آپ لینکس سی گروپس کو کس طرح ترتیب دے سکتے ہیں۔ چلو شروع کریں!







لینکس میں سی گروپس کیا ہیں؟

لینکس کرنل cgroups کو ایک خصوصیت کے طور پر پیش کرتا ہے تاکہ سسٹم کے وسائل کے انتظام کو مختلف عملوں کے لیے اجازت دی جا سکے۔ cgroups کی بدولت، نظام کے وسائل کی مقدار کو کسی عمل یا عمل کے گروپوں کے ساتھ محدود کرنا اجارہ داری کو ختم کرنے کے لیے استعمال کر سکتا ہے اور اس بات کو یقینی بناتا ہے کہ وسائل کی منصفانہ تقسیم ممکن ہے۔ سی گروپس درج ذیل کردار ادا کرنے میں مدد کرتے ہیں:



1. وسائل کی تقسیم



سی گروپس کا بنیادی مقصد وسائل کی تقسیم ہے۔ آپ کسی بھی عمل یا عمل کے گروپ میں میموری، نیٹ ورک بینڈوتھ، CPU، وغیرہ جیسے وسائل کو تیزی سے مختص کر سکتے ہیں۔ خیال یہ ہے کہ آپ کے سسٹم کی کارکردگی کو اس بات کو یقینی بنا کر بہتر بنایا جائے کہ کوئی بھی عمل سسٹم کے وسائل پر اجارہ داری نہ کرے۔ وسائل کی منصفانہ تقسیم سے آپ کے پاس ایک مستحکم نظام کی کارکردگی ہوگی۔





2. ترجیح

ایسی صورت حال کا تصور کریں جہاں آپ کے پاس اعلیٰ ترجیحی کام یا عمل ہوں۔ ایسی صورت میں آپ کو ایسے کاموں کے لیے اپنے سسٹم کے وسائل کو ترجیح دینے کی ضرورت ہوتی ہے تاکہ یہ یقینی بنایا جا سکے کہ وہ توقعات پر پورا اترتے ہیں، خاص طور پر جہاں بھاری بوجھ شامل ہو۔ مثال کے طور پر، اگر آپ کے پاس تاخیر سے متعلق حساس عمل یا کام ہے جس کے لیے CPU کے بھاری استعمال کی ضرورت ہے، تو آپ cgroups کا استعمال کرتے ہوئے مزید وسائل کو ترجیح اور تفویض کر سکتے ہیں۔



3. وسائل کی تنہائی

آپ کو وسائل کی حدود بنانے کی اجازت دے کر، cgroups آپ کو وسائل کو الگ کرنے اور حدود کو نافذ کرنے کی اجازت دیتا ہے۔ اس طرح، آپ ایپلی کیشنز کے درمیان مداخلت کو روک سکتے ہیں، خاص طور پر جب مختلف ایپلی کیشنز یا صارفین ایک ہی سسٹم کو استعمال کریں۔

4. کنٹینرائزیشن کے لیے سپورٹ

کنٹینرائزیشن کے اختیارات جیسے ڈوکر کے ساتھ کام کرتے وقت، جہاں آپ کو کنٹینرز کو الگ تھلگ ماحول میں چلانے کے لیے سیٹ کرنا چاہیے، cgroups آپ کو ہلکا پھلکا ماحول بنانے دیتا ہے۔ آپ کو الگ تھلگ میزبان میں محفوظ طریقے سے اور مؤثر طریقے سے وسائل مختص کرنا ہوں گے۔

5. وسائل کی نگرانی

آپ مختلف وسائل کے اعدادوشمار حاصل کر سکتے ہیں جو کہ cgroup کا استعمال کرتے ہوئے آپ کے سسٹم پر عمل کے لیے تفویض کیے گئے ہیں۔ آپ جو اعدادوشمار جمع کرتے ہیں وہ آپ کے سسٹم کی کارکردگی کا تجزیہ کرنے کے لیے مثالی ہیں۔ اس طرح، آپ وسائل کی رکاوٹوں کی نشاندہی کر سکتے ہیں جو آپ کو وسائل کی تقسیم پر منصوبہ بندی کرنے دیتا ہے۔ یہ بصیرتیں یہ سمجھنے کے لیے مثالی ہیں کہ ایپلیکیشنز کی کارکردگی اس بات کی رہنمائی کے لیے ہے کہ آپ ان کو کس طرح بہتر بنا سکتے ہیں۔

لینکس سی گروپس کو کنفیگر کرنے کا طریقہ

کنٹینرائزیشن کی بڑھتی ہوئی مقبولیت وسائل کے انتظام اور نگرانی میں مدد کے لیے لینکس سی گروپس کے مزید استعمال کی راہ ہموار کرتی ہے۔ اب تک، ہم نے cgroups کی تعریف کی ہے اور اس کے فوائد دیکھے ہیں۔

اب، دیکھتے ہیں کہ ہم اسے کیسے ترتیب دے سکتے ہیں۔ ہم Ubuntu 22.04 کے ساتھ کام کر رہے ہیں، لیکن یہ گائیڈ دوسرے لینکس ڈسٹرو کے ساتھ کام کرتا ہے۔ ہم عمل کو دو حصوں میں تقسیم کرتے ہیں: تنصیب اور ترتیب۔

حصہ 1: تنصیب

آئیے اپنے سسٹم پر درج ذیل مراحل کے ساتھ cgroups کو انسٹال کرکے شروع کریں:

مرحلہ 1: Cgroups ٹولز انسٹال کریں۔

انسٹالیشن کی راہ ہموار کرنے کے لیے آپٹ ریپوزٹری کو اپ ڈیٹ کرکے شروع کریں۔

sudo مناسب اپ ڈیٹ



اگلا، cgroup-tools کو انسٹال کرنے کے لیے درج ذیل انسٹالیشن کمانڈ کو چلائیں۔

sudo مناسب انسٹال کریں cgroup-tools



آپ تصدیق کر سکتے ہیں کہ cgroup کو dpkg کمانڈ سے چیک کرکے انسٹال کیا گیا ہے جیسا کہ درج ذیل میں دکھایا گیا ہے۔


ہم دیکھ سکتے ہیں کہ انسٹالیشن کامیاب ہے۔

مرحلہ 2: سی گروپ سپورٹ کو فعال کریں۔

cgroup کو انسٹال کرنے کے بعد، آپ کو اپنے سسٹم کے GRUB میں cgroup سپورٹ کو فعال کرنا ہوگا۔ اس کے لیے ٹیکسٹ ایڈیٹر استعمال کریں اور GRUB کنفگ فائل کھولیں۔ ہم اس معاملے میں نینو استعمال کر رہے ہیں۔

sudo نینو / وغیرہ / پہلے سے طے شدہ / grub



ایک بار کھلنے کے بعد، درج ذیل لائن تلاش کریں:

GRUB_CMDLINE_LINUX_DEFAULT ='خاموش چھڑکاؤ'



'cgroup_enable=memory' کو شامل کرنے کے لیے اس میں ترمیم کریں۔

GRUB_CMDLINE_LINUX_DEFAULT =”خاموش چھڑکاؤ cgroup_enable =میموری'



فائل کو محفوظ کریں اور باہر نکلیں۔

مرحلہ 3: GRUB کو اپ ڈیٹ کریں۔

GRUB کنفیگریشن میں ترمیم کرنے کے بعد، آپ کو تبدیلیوں کے اثر انداز ہونے کے لیے اسے اپ ڈیٹ کرنا چاہیے۔ پھر بھی، تبدیلیوں کو مکمل طور پر متاثر کرنے کے لیے آپ کو اپنے سسٹم کو ریبوٹ کرنا ہوگا۔

درج ذیل کمانڈز استعمال کریں:

sudo update-grub



آخر میں، اپنے سسٹم کو دوبارہ شروع کریں۔

sudo دوبارہ شروع کریں


مرحلہ 4: ایک ماؤنٹ پوائنٹ بنائیں

سسٹم کے دوبارہ شروع ہونے کے بعد، cgroup فائل سسٹم کے لیے اپنے ماؤنٹ پوائنٹ کے طور پر استعمال کرنے کے لیے ایک ڈائرکٹری بنائیں۔ آئیے اپنی ڈائرکٹری بنائیں بطور /sys/fs/cgroup مندرجہ ذیل کے طور پر:

sudo mkdir / sys / fs / سی گروپ



ماؤنٹ پوائنٹ بننے کے ساتھ، سی گروپ فائل سسٹم کو اپنی پسند کے کنٹرولر کے ساتھ ماؤنٹ کریں۔ کچھ کنٹرولرز جنہیں آپ استعمال کر سکتے ہیں ان میں میموری، سی پی یو، بائیکیو، فریزر، ڈیوائسز وغیرہ شامل ہیں۔ آئیے اس مثال کے لیے میموری استعمال کریں۔

یہاں وہ نحو ہے جو آپ کو استعمال کرنا چاہئے:

sudo پہاڑ -t سی گروپ -O < کنٹرولر > سی گروپ / sys / fs / سی گروپ


کو اس ہدف کے ساتھ تبدیل کریں جسے آپ cgroup فائل سسٹم میں استعمال کرنے کے لیے بنانا چاہتے ہیں۔


ہمارے پاس پہلے سے ہی نصب ہے۔ آپ کے معاملے میں، آپ کو ایک آؤٹ پٹ ملے گا کہ ماؤنٹ کامیاب ہے۔

تصدیق کریں کہ cgroup mount موجود ہے اور 'grep' کمانڈ کا استعمال کرتے ہوئے درج ذیل کمانڈ کو چلا کر درست طریقے سے نصب کیا گیا ہے۔

پہاڑ | گرفت سی گروپ



فرض کریں کہ آپ نے تمام مراحل کی پیروی کی ہے۔ آپ کو ایک آؤٹ پٹ ملے گا جو پچھلے آؤٹ پٹ کی طرح ہے جو اس بات کی تصدیق کرتا ہے کہ آپ کا سی گروپ ماؤنٹ موجود ہے جیسا کہ آپ نے اسے بنایا ہے۔

حصہ 2: ترتیب

ہم نے اپنے لینکس سسٹم پر سی گروپ ٹولز انسٹال کیے اور ایک سی گروپ ماؤنٹ بنایا۔ اس جگہ کے ساتھ، آخری چیز یہ ہے کہ لینکس سی گروپس کو کنفیگر کرنے کا طریقہ تلاش کرنا ہے۔ آئیے آپ کو یہ سمجھنے میں مدد کرنے کے لیے ایک مثال دیتے ہیں کہ یہ کیسے کام کرتا ہے۔ پڑھیں!

آپ cgroups کو کیسے بناتے اور ترتیب دیتے ہیں آپ کی ضروریات پر منحصر ہے۔ اس کے علاوہ، آپ کو پہلے یہ سمجھنا چاہیے کہ آپ cgroup کے درجہ بندی کو بنانے میں کون سا کنٹرولر استعمال کریں گے۔ ایک بار جب آپ cgroup بنا لیتے ہیں، تو اسے ترتیب دینے میں آپ کے سسٹم کے وسائل تک اس کی رسائی کو محدود کرنا شامل ہے۔ آئیے اسے دو مراحل میں توڑ دیں۔

مرحلہ 1: سی گروپ کے درجہ بندی بنائیں

ایک بار جب آپ cgroup فائل سسٹم کو ماؤنٹ کر لیتے ہیں، تو آپ کو اپنی ضروریات کے مطابق cgroup کی درجہ بندی بنانا چاہیے۔ اس کے لیے ہم درج ذیل نحو کا استعمال کرتے ہیں:

sudo mkdir / sys / fs / سی گروپ /< کنٹرولر > < cgroup_name >


فرض کریں کہ ہم اپنے میموری کنٹرولر میں 'linuxhint' کے نام سے ایک سی گروپ بنانا چاہتے ہیں۔ ہم مندرجہ ذیل کے طور پر آگے بڑھتے ہیں:

sudo mkdir / sys / fs / سی گروپ / یاداشت / linuxhint



اب جب کہ ہمارے پاس سی گروپ بن چکا ہے، آئیے آگے بڑھیں اور اسے سسٹم ریسورس مینجمنٹ کے حصے کے طور پر کن پیرامیٹرز کو تفویض کرنے کی وضاحت کرتے ہوئے اسے ترتیب دیں۔

مرحلہ 2: پیرامیٹرز کو تفویض کریں۔

ہر کنٹرولر مختلف پیرامیٹرز کے ساتھ آتا ہے جو آپ اس سسٹم کے وسائل پر منحصر کرتے ہیں جسے آپ مختص کرنا چاہتے ہیں۔ لہذا، ایک cgroup کو ترتیب دیتے وقت، آپ کو معلوم ہونا چاہیے کہ آپ منتخب کنٹرولر کے کون سے پیرامیٹرز استعمال کریں گے۔

ترتیب میں درج ذیل نحو کا استعمال کریں:

بازگشت < قدر > > / sys / fs / سی گروپ /< کنٹرولر > < سی گروپ کا نام > < کنٹرولر پیرامیٹر >


یہاں میموری سی گروپ کو ترتیب دینے کی ایک مثال ہے جسے ہم نے پہلے 'linuxhint' کے نام سے بنایا تھا تاکہ اسے 1GB کی میموری کی حد کے ساتھ تفویض کیا جاسکے۔ اس کے لیے، ہم 'memory.limit_in_bytes' پیرامیٹر استعمال کرتے ہیں۔ آپ دوسرے میموری پیرامیٹرز کو تلاش کر سکتے ہیں جنہیں آپ ترتیب دے سکتے ہیں۔

ہم اپنے حکم کو مندرجہ ذیل طور پر انجام دیتے ہیں:

بازگشت 1 جی > / sys / fs / سی گروپ / یاداشت / linuxhint / memory.limit_in_bytes



آپ کسی بھی پیرامیٹر کی وضاحت کر سکتے ہیں جو آپ کی ضروریات کے مطابق ہو۔ آپ کے سسٹم میں کسی بھی کنٹرولر میں ترمیم کرنے، اس کے لیے cgroups بنانے، اور پھر اسے کنفیگر کرنے کے لیے اس عمل کی پیروی کریں جس کی ہم نے پہلے تفصیل دی تھی۔ آپ مزید cgroups بنانے اور انہیں ترتیب دینے کے لیے آزاد ہیں۔ یہ تجویز کیا جاتا ہے کہ cgroups کا نام اس کنٹرولر کے نام کے ساتھ ترتیب دیا جائے جس پر آپ آسانی سے یاد رکھنے کے لیے توجہ مرکوز کرنا چاہتے ہیں۔

آئیے ایک اور مثال دیتے ہیں جہاں ہم CPU کنٹرولر کے لیے ایک سی گروپ بناتے ہیں۔ مندرجہ ذیل کے طور پر ایک cgroup درجہ بندی بنا کر شروع کریں:

sudo mkdir / sys / fs / سی گروپ / سی پی یو / linux-cpu



اگلا، آپ کی ضرورت کی بنیاد پر سی پی یو وسائل مختص کرنے کے لیے پیرامیٹر کی قدریں تفویض کریں۔ مثال کے طور پر، آئیے cpu.cfs_period_us کے ساتھ کام کریں جو آپ کو مائیکرو سیکنڈ کی مدت بتانے کے قابل بناتا ہے کہ وسائل تک سی گروپ کی رسائی کو مختص کیا جانا چاہیے۔ آئیے اس معاملے میں اسے 1000 مائیکرو سیکنڈز پر سیٹ کریں۔


اس طرح آپ لینکس سی گروپس بناتے اور تشکیل دیتے ہیں۔ آپ جو لینکس ڈسٹرو استعمال کر رہے ہیں اس کے لحاظ سے اقدامات قدرے مختلف ہو سکتے ہیں۔ بہر حال، یہ پوسٹ وہ عمومی اقدامات پیش کرتی ہے جن پر آپ کو عمل کرنا چاہیے۔

نتیجہ

یہ پوسٹ لینکس سی گروپس پر مرکوز ہے۔ ہم نے یہ سمجھ کر شروع کیا کہ لینکس سی گروپس کا کیا مطلب ہے اور یہ سسٹم ایڈمنسٹریٹرز کو کیا فوائد فراہم کرتا ہے۔ اگلا، ہم نے Ubuntu 22.04 پر cgroups کو انسٹال کرنے کے لیے اقدامات سیکھے اگر یہ ابھی تک انسٹال نہیں ہوا ہے۔ مزید برآں، ہم نے لینکس سی گروپس کو کنفیگر کرنے کے اقدامات پیش کیے، ماؤنٹ پوائنٹ بنانے سے لے کر سی گروپ بنانے تک، پیرامیٹرز کو ترتیب دینے تک۔ امید ہے کہ، آپ نے سیکھا ہوگا کہ لینکس سی گروپس کو کنفیگر کرنا ہے۔ اسے آزمائیں اور اپنے سسٹم کی کارکردگی میں مداخلت سے بچنے کے لیے آپ کن پیرامیٹرز میں ترمیم کرتے ہیں۔