Foundationপ্রথম নীতি থেকে
LEVEL 12 · Virtualization, Containers & Cloud

cgroup Controller

সিগ্রুপ কন্ট্রোলার

একটা নির্দিষ্ট resource type (CPU, memory, IO, PID সংখ্যা) নিয়ন্ত্রণকারী kernel subsystem, যা cgroup v2-এর unified hierarchy-তে একটা group-এ enable করলে সেই resource-এর সীমা প্রয়োগ করে।

also: cgroup controller, resource controller

controller   মূল ফাইল                     কী নিয়ন্ত্রণ করে
cpu          cpu.max, cpu.weight          CPU সময় — hard quota বা relative share
memory       memory.max, memory.high      memory ব্যবহার — hard limit বা soft throttle
io           io.max                       প্রতি-device read/write bandwidth ও IOPS
pids         pids.max                     সর্বোচ্চ process/thread সংখ্যা
  • কোন controller একটা group-এ সক্রিয় তা তার parent-এর cgroup.subtree_control ফাইলে +cpu +memory লিখে ঠিক করা হয় — top-down, কখনো নিচ থেকে নিজে চালু করা যায় না
  • enforcement বিদ্যমান kernel subsystem-এর ভেতরেই বসানো (scheduler CPU-তে, page-fault handler memory-তে, block layer IO-তে) — কোনো নতুন সমান্তরাল ইঞ্জিন না
  • cat /sys/fs/cgroup/cgroup.controllers দিয়ে root-এ কোন controller kernel build-এ available তা দেখা যায়
  • একই controller v1-এ নিজস্ব আলাদা hierarchy নিয়ে mount হতো; v2-তে সব controller একই unified গাছে একসাথে থাকে