Cgroups (Control Groups) 將進程分組並限制 CPU、記憶體、I/O 等物理資源,是容器技術 (Docker、LXC) 的核心基礎。本文說明安裝 cgroup-bin、掛載子系統、建立控制群組、寫入限制參數、將進程加入群組的完整操作流程。
查看可用子系統:
lssubsys -al
ls /sys/fs/cgroup/ # Ubuntu 掛載點
apt-get install cgroup-bin
cat /etc/cgconfig.conf → /sys/fs/cgroup/memory。cd /sys/fs/cgroup/memory
mkdir test
目錄下自動產生 memory.limit_in_bytes、tasks 等控制檔。
echo 104857600 > memory.limit_in_bytesecho $$ > tasksrmdir test (需先移出所有進程)。Cgroups 以虛擬檔案系統介面暴露資源控制,mkdir 建群組、echo 寫限制、echo $$ > tasks 納入進程,極簡且強大,為容器化奠定基石。