cgroup2是Linux 内核中的一个特性,代表了统一的控制组(cgroup)层次结构,它在较新的内核版本中被引入,以解决cgroup v1版本中的一些限制和问题

cgroup2的一些关键点:

  1. 统一层次结构:与 cgroup v1 不同,cgroup v2 提供了一个统一的层次结构,这意味着所有的控制器(如 CPU、内存、IO 等)都在同一个层次结构下,而不是像 v1 那样每个控制器有自己的层次结构。

  2. 简化管理:由于统一的层次结构,管理 cgroup 变得更加简单和直观。用户不需要在不同的层次结构之间导航来管理不同类型的资源限制。

  3. 内核支持:cgroup2 需要内核版本 4.15 或更高,但建议在 5.2 或更高版本上使用,以确保更好的稳定性和特性支持。

  4. 挂载点:cgroup2 通常挂载在 /sys/fs/cgroup。如果系统启用了 cgroup2,你可以通过检查该挂载点来确认。

  5. 启用方法:可以通过修改内核的引导参数来启用 cgroup2。例如,在 GRUB 配置中添加 systemd.unified_cgroup_hierarchy=1 参数,然后更新 GRUB 配置并重启系统。

  6. 兼容性:cgroup2 设计时考虑了与 cgroup v1 的向后兼容性。在许多情况下,现有的 cgroup v1 工具和脚本可以无需修改即可与 cgroup2 一起使用。

  7. 新特性:cgroup2 引入了一些新的功能和改进,例如线程粒度的控制、改进的事件通知机制、以及更容易的控制器启用和禁用等。

  8. 文档和社区支持:由于 cgroup2 是一个相对较新的功能,可能需要查阅最新的 Linux 内核文档或社区资源来获取更多信息和最佳实践。