cgroup的最初版本是在Linux 2.6.24中实现的,随着时间的推移,各种cgroup控制器被添加以管理不同类型的资源。然而,这些控制器的开发是不协调的,导致控制器之间存在许多不一致之处,cgroup层次结构的管理变得相当复杂。为了解决这些问题,从Linux 3.10开始,开始了cgroup2的开发,并在Linux 4.5正式发布。尽管cgroup2旨在替代cgroup1,但由于兼容性原因,cgroup1仍然存在
查看内核版本
uname -a
内核4.5以上
cat /proc/filesystems
是否含有“nodev cgroup2” 表示内核支持cgroup2
添加配置生成
vi /etc/default/grub
添加 systemd.unified_cgroup_hierarchy=1
GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=1 rhgb quiet ..."
或
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1" 开启cgroup2
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" 关闭cgroup2
加载内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
判断是否生效
1,
grep 'systemd.unified_cgroup_hierarchy=1' /proc/cmdline
2,
mount | grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) 表示cgroup2已启用