কিভাবে লিনাক্স সিগ্রুপ কনফিগার করবেন

Kibhabe Linaksa Sigrupa Kanaphigara Karabena



কোন প্রক্রিয়াগুলি বিভিন্ন সিস্টেম সংস্থানগুলিকে ব্যবহার করে তা জানা এবং বোঝা একটি সিস্টেম প্রশাসক হিসাবে আপনার কাজের অংশ। সৌভাগ্যবশত, Linux কার্নেল আপনাকে কন্ট্রোল গ্রুপ (cgroups) বৈশিষ্ট্য ব্যবহার করে সংস্থানগুলি বরাদ্দ এবং পরিচালনা করতে দেয়, তবে আপনাকে অবশ্যই এটি কনফিগার করতে হবে।

এই পোস্টটি লিনাক্স cgroups কনফিগার করার বিষয়ে নির্দেশিকা। আমরা এটি সংজ্ঞায়িত করব এবং এর সুবিধাগুলি বুঝতে পারব। তাছাড়া, আমরা দেখব কিভাবে আপনি Linux cgroups কনফিগার করতে পারেন। চল শুরু করি!







লিনাক্সে Cgroups কি কি?

Linux কার্নেল বিভিন্ন প্রক্রিয়ায় সিস্টেম রিসোর্স পরিচালনার জন্য একটি বৈশিষ্ট্য হিসাবে cgroups অফার করে। cgroups-কে ধন্যবাদ, একটি প্রসেস বা প্রসেসের গোষ্ঠীর সাথে সিস্টেম রিসোর্সের পরিমাণ সীমিত করে একচেটিয়াকরণ দূর করতে ব্যবহার করতে পারে এবং নিশ্চিত করে যে একটি ন্যায্য সম্পদ বরাদ্দ করা সম্ভব। Cgroups নিম্নলিখিত ভূমিকা পালন করতে সাহায্য করে:



1. সম্পদ বরাদ্দ



cgroups প্রাথমিক উদ্দেশ্য সম্পদ বরাদ্দ. আপনি মেমরি, নেটওয়ার্ক ব্যান্ডউইথ, সিপিইউ, ইত্যাদির মতো সংস্থানগুলি দ্রুত যে কোনও প্রক্রিয়া বা প্রক্রিয়াগুলির গ্রুপে বরাদ্দ করতে পারেন। ধারণাটি হ'ল কোনও প্রক্রিয়া সিস্টেম সংস্থানগুলিকে একচেটিয়া করে না তা নিশ্চিত করে আপনার সিস্টেমের কার্যকারিতা বাড়ানো। সম্পদগুলি মোটামুটিভাবে বিতরণ করে আপনার একটি স্থিতিশীল সিস্টেমের কর্মক্ষমতা থাকবে।





2. অগ্রাধিকার

এমন একটি পরিস্থিতি কল্পনা করুন যেখানে আপনার উচ্চ-প্রধান কাজ বা প্রক্রিয়া রয়েছে। এই ধরনের ক্ষেত্রে আপনাকে এই ধরনের কাজের জন্য আপনার সিস্টেম সংস্থানগুলিকে অগ্রাধিকার দিতে হবে যাতে সেগুলি প্রত্যাশা পূরণ করে, বিশেষ করে যেখানে একটি ভারী বোঝা জড়িত থাকে। উদাহরণস্বরূপ, যদি আপনার একটি লেটেন্সি-সংবেদনশীল প্রক্রিয়া বা কাজ থাকে যার জন্য ভারী CPU ব্যবহারের প্রয়োজন হয়, আপনি cgroups ব্যবহার করে আরও সংস্থানকে অগ্রাধিকার দিতে এবং বরাদ্দ করতে পারেন।



3. সম্পদ বিচ্ছিন্নতা

আপনাকে সম্পদের সীমানা তৈরি করার অনুমতি দিয়ে, cgroups আপনাকে সম্পদগুলিকে বিচ্ছিন্ন করতে এবং সীমা প্রয়োগ করতে দেয়। এইভাবে, আপনি অ্যাপ্লিকেশনগুলির মধ্যে হস্তক্ষেপ রোধ করতে পারেন, বিশেষ করে যখন বিভিন্ন অ্যাপ্লিকেশন বা ব্যবহারকারীরা একই সিস্টেম ব্যবহার করে।

4. কন্টেইনারাইজেশনের জন্য সমর্থন

ডকারের মতো কন্টেইনারাইজেশন বিকল্পগুলির সাথে কাজ করার সময়, যেখানে আপনাকে বিচ্ছিন্ন পরিবেশে চালানোর জন্য কন্টেইনারগুলি সেট করতে হবে, cgroups আপনাকে হালকা ওজনের পরিবেশ তৈরি করতে দেয়। আপনি নিরাপদে এবং দক্ষতার সাথে বিচ্ছিন্ন হোস্টে সংস্থানগুলি বরাদ্দ করতে পারবেন।

5. রিসোর্স মনিটরিং

আপনি cgroup ব্যবহার করে আপনার সিস্টেমে প্রসেসের জন্য নির্ধারিত বিভিন্ন সংস্থানগুলির পরিসংখ্যান পেতে পারেন। আপনি যে পরিসংখ্যান সংগ্রহ করেন তা আপনার সিস্টেমের কর্মক্ষমতা বিশ্লেষণের জন্য আদর্শ। এইভাবে, আপনি সম্পদের বাধাগুলি সনাক্ত করতে পারেন যা আপনাকে সম্পদ বিতরণের পরিকল্পনা করতে দেয়। আপনি কীভাবে তাদের অপ্টিমাইজ করতে পারেন তা নির্দেশ করার জন্য অ্যাপ্লিকেশনগুলি কীভাবে কার্য সম্পাদন করে তা বোঝার জন্য এই অন্তর্দৃষ্টিগুলি আদর্শ।

কিভাবে লিনাক্স সিগ্রুপ কনফিগার করবেন

কনটেইনারাইজেশনের ক্রমবর্ধমান জনপ্রিয়তা লিনাক্স cgroups-এর অধিক ব্যবহারের পথ প্রশস্ত করে যাতে রিসোর্স ম্যানেজমেন্ট এবং মনিটরিংয়ে সাহায্য করা যায়। এখন পর্যন্ত, আমরা cgroups সংজ্ঞায়িত করেছি এবং এর সুবিধাগুলি দেখেছি।

এখন, দেখা যাক কিভাবে আমরা এটি কনফিগার করতে পারি। আমরা উবুন্টু 22.04 এর সাথে কাজ করছি, তবে এই গাইডটি অন্যান্য লিনাক্স ডিস্ট্রোগুলির সাথে কাজ করে। আমরা প্রক্রিয়াটিকে দুটি অংশে ভাগ করি: ইনস্টলেশন এবং কনফিগারেশন।

পার্ট 1: ইনস্টলেশন

চলুন শুরু করা যাক আমাদের সিস্টেমে cgroups ইন্সটল করে নিচের ধাপগুলো দিয়ে:

ধাপ 1: Cgroups টুল ইনস্টল করুন

ইনস্টলেশনের পথ প্রশস্ত করতে apt সংগ্রহস্থল আপডেট করে শুরু করুন।

sudo উপযুক্ত আপডেট



এর পরে, cgroup-tools ইনস্টল করতে নিম্নলিখিত ইনস্টলেশন কমান্ডটি চালান:

sudo উপযুক্ত ইনস্টল cgroup-tools



আপনি যাচাই করতে পারেন যে dpkg কমান্ড দিয়ে চেক করে cgroup ইনস্টল করা হয়েছে যেমনটি নিম্নলিখিত হিসাবে দেখানো হয়েছে:


আমরা দেখতে পাচ্ছি যে ইনস্টলেশন সফল হয়েছে।

ধাপ 2: Cgroup সমর্থন সক্ষম করুন

cgroup ইনস্টল করার পরে, আপনাকে অবশ্যই আপনার সিস্টেমের GRUB-এ cgroup সমর্থন সক্রিয় করতে হবে। এর জন্য, একটি পাঠ্য সম্পাদক ব্যবহার করুন এবং GRUB কনফিগার ফাইলটি খুলুন। এক্ষেত্রে আমরা ন্যানো ব্যবহার করছি।

sudo ন্যানো / ইত্যাদি / ডিফল্ট / গ্রাব



একবার এটি খোলে, নিম্নলিখিত লাইনটি খুঁজুন:

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 / cgroup



মাউন্ট পয়েন্ট তৈরি করে, আপনার পছন্দের কন্ট্রোলারের সাথে cgroup ফাইল সিস্টেম মাউন্ট করুন। কিছু কন্ট্রোলার যা আপনি ব্যবহার করতে পারেন তার মধ্যে রয়েছে মেমরি, CPU, bikio, ফ্রিজার, ডিভাইস ইত্যাদি। এই উদাহরণের জন্য মেমরি ব্যবহার করা যাক।

এখানে সিনট্যাক্স যা আপনার ব্যবহার করা উচিত:

sudo মাউন্ট -t cgroup -ও < নিয়ামক > cgroup / sys / fs / cgroup


cgroup ফাইলসিস্টেমে ব্যবহার করার জন্য আপনি যে টার্গেট তৈরি করতে চান তা দিয়ে প্রতিস্থাপন করুন।


আমরা ইতিমধ্যে আমাদের মাউন্ট আছে. আপনার ক্ষেত্রে, আপনি একটি আউটপুট পাবেন যে মাউন্ট সফল হয়েছে।

'grep' কমান্ড ব্যবহার করে নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে নিশ্চিত করুন যে cgroup মাউন্ট বিদ্যমান এবং সঠিকভাবে মাউন্ট করা হয়েছে:

মাউন্ট | গ্রিপ cgroup



ধরুন আপনি সমস্ত ধাপ অনুসরণ করেছেন। আপনি একটি আউটপুট পাবেন যা আগের আউটপুটের মতো যা নিশ্চিত করে যে আপনার cgroup মাউন্টটি আপনি তৈরি করার সাথে সাথে বিদ্যমান রয়েছে।

পার্ট 2: কনফিগারেশন

আমরা আমাদের লিনাক্স সিস্টেমে cgroup টুল ইনস্টল করেছি এবং একটি cgroup মাউন্ট তৈরি করেছি। এটির সাথে, শেষ জিনিসটি হল কীভাবে লিনাক্স সিগ্রুপগুলি কনফিগার করা যায় সে সম্পর্কে খনন করা। এটি কীভাবে কাজ করে তা বুঝতে আপনাকে সাহায্য করার জন্য একটি উদাহরণ দেওয়া যাক। পড়তে!

আপনি কিভাবে cgroups তৈরি এবং কনফিগার করবেন তা আপনার প্রয়োজনীয়তার উপর নির্ভর করে। এছাড়াও, আপনাকে প্রথমে বুঝতে হবে যে আপনি cgroup শ্রেণীবিন্যাস তৈরি করতে কোন নিয়ামক ব্যবহার করবেন। একবার আপনি cgroup তৈরি করলে, এটি কনফিগার করার জন্য আপনার সিস্টেম রিসোর্সে এর অ্যাক্সেস সীমিত করা জড়িত। আসুন এটিকে দুটি ধাপে ভাগ করি।

ধাপ 1: সিগ্রুপ হায়ারার্কি তৈরি করুন

একবার আপনি cgroup ফাইল-সিস্টেম মাউন্ট করলে, আপনার প্রয়োজনীয়তার উপর নির্ভর করে আপনাকে অবশ্যই cgroup শ্রেণীবিন্যাস তৈরি করতে হবে। এর জন্য, আমরা নিম্নলিখিত সিনট্যাক্স ব্যবহার করি:

sudo mkdir / sys / fs / cgroup /< নিয়ামক >>> cgroup_name >


ধরুন আমরা আমাদের মেমরি কন্ট্রোলারে 'linuxhint' নামে একটি cgroup তৈরি করতে চাই। আমরা নিম্নলিখিত হিসাবে এগিয়ে যান:

sudo mkdir / sys / fs / cgroup / স্মৃতি / লিনাক্সহিন্ট



এখন যেহেতু আমরা cgroup তৈরি করেছি, চলুন এগিয়ে যাই এবং সিস্টেম রিসোর্স ম্যানেজমেন্টের অংশ হিসাবে এটিকে কোন প্যারামিটারগুলি বরাদ্দ করতে হবে তা নির্ধারণ করে এটি কনফিগার করি।

ধাপ 2: পরামিতি বরাদ্দ করুন

প্রতিটি কন্ট্রোলার বিভিন্ন পরামিতি নিয়ে আসে যা আপনি যে সিস্টেম রিসোর্সটি বরাদ্দ করতে চান তার উপর নির্ভর করে নির্দিষ্ট করেন। সুতরাং, একটি cgroup কনফিগার করার সময়, আপনি নির্বাচিত কন্ট্রোলারের কোন প্যারামিটার ব্যবহার করবেন তা আপনার জানা উচিত।

কনফিগারেশনে নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

প্রতিধ্বনি < মান > > / sys / fs / cgroup /< নিয়ামক >>> cgroup-নাম >>> কন্ট্রোলার-প্যারামিটার >


এখানে মেমরি cgroup কনফিগার করার একটি উদাহরণ রয়েছে যা আমরা আগে তৈরি করেছিলাম 'linuxhint' নামে এটিকে 1GB মেমরির সীমা দিয়ে বরাদ্দ করতে। এর জন্য, আমরা 'memory.limit_in_bytes' প্যারামিটার ব্যবহার করি। আপনি কনফিগার করতে পারেন এমন অন্যান্য মেমরি প্যারামিটার অনুসন্ধান করতে পারেন।

আমরা আমাদের কমান্ডটি নিম্নরূপ কার্যকর করি:

প্রতিধ্বনি 1 জি > / sys / fs / cgroup / স্মৃতি / লিনাক্সহিন্ট / memory.limit_in_bytes



আপনি আপনার প্রয়োজনীয়তার সাথে সারিবদ্ধ যে কোনো প্যারামিটার নির্দিষ্ট করতে পারেন। আপনার সিস্টেমে যেকোন কন্ট্রোলার পরিবর্তন করতে, এটির জন্য cgroups তৈরি করতে এবং তারপর কনফিগার করার জন্য আমরা পূর্বে যে প্রক্রিয়াটি বিস্তারিত বলেছি তা অনুসরণ করুন। আপনি আরো cgroups তৈরি করতে এবং তাদের কনফিগার করতে স্বাধীন। সহজে মনে রাখার জন্য আপনি যে কন্ট্রোলারের উপর ফোকাস করতে চান তার নামের সাথে সারিবদ্ধ করার জন্য cgroups এর নাম রাখার পরামর্শ দেওয়া হয়।

আসুন আরেকটি উদাহরণ দেওয়া যাক যেখানে আমরা CPU কন্ট্রোলারের জন্য একটি cgroup তৈরি করি। নিম্নরূপ একটি cgroup অনুক্রম তৈরি করে শুরু করুন:

sudo mkdir / sys / fs / cgroup / সিপিইউ / linux-cpu



পরবর্তী, আপনার প্রয়োজনের উপর ভিত্তি করে CPU সম্পদ বরাদ্দ করার জন্য প্যারামিটার মান নির্ধারণ করুন। উদাহরণস্বরূপ, আসুন cpu.cfs_period_us এর সাথে কাজ করি যা আপনাকে মাইক্রোসেকেন্ড সময়কাল নির্দিষ্ট করতে সক্ষম করে যে সংস্থানগুলিতে একটি cgroup-এর অ্যাক্সেস বরাদ্দ করা উচিত। এই ক্ষেত্রে এটি 1000 মাইক্রোসেকেন্ডে সেট করা যাক।


এভাবেই আপনি লিনাক্স cgroups তৈরি এবং কনফিগার করেন। আপনি যে লিনাক্স ডিস্ট্রো ব্যবহার করছেন তার উপর নির্ভর করে পদক্ষেপগুলি কিছুটা আলাদা হতে পারে। তবুও, এই পোস্টটি আপনার অনুসরণ করা উচিত এমন সাধারণ পদক্ষেপগুলি উপস্থাপন করে।

উপসংহার

এই পোস্টটি লিনাক্স cgroups উপর ফোকাস. আমরা Linux cgroups এর অর্থ কী এবং এটি সিস্টেম অ্যাডমিনিস্ট্রেটরদের জন্য কী কী সুবিধা দেয় তা বোঝার মাধ্যমে শুরু করেছি। এর পরে, আমরা উবুন্টু 22.04-এ cgroups ইনস্টল করার জন্য অনুসরণ করার পদক্ষেপগুলি শিখেছি যদি এটি এখনও ইনস্টল করা না থাকে। উপরন্তু, আমরা লিনাক্স cgroups কনফিগার করার ধাপগুলি উপস্থাপন করেছি, একটি মাউন্ট পয়েন্ট তৈরি করা, cgroup তৈরি করা, প্যারামিটার কনফিগার করা পর্যন্ত। আশা করি, আপনি শিখেছেন কিভাবে লিনাক্স cgroups কনফিগার করতে হয়। এটি চেষ্টা করে দেখুন এবং আপনার সিস্টেমের কর্মক্ষমতাতে হস্তক্ষেপ এড়াতে আপনি কোন পরামিতিগুলি পরিবর্তন করবেন সে সম্পর্কে আগ্রহী হন।