第 10 章 内核
10.1. 资源控制
10.1.1. 控制组 v2 在 RHEL 8 中作为技术预览提供
控制组群 v2 机制是一个统一的分级控制组群。控制组 v2 以分层方式组织进程,并以受控和可配置的方式按层分配系统资源。
与之前的版本不同,控制组 v2 只有一个层次结构。这个单一层次结构使 Linux 内核能够:
- 根据拥有者的角色对进程进行分类。
- 解决多个分级冲突策略的问题。
控制组群 v2 支持大量控制器:
CPU 控制器规定了 CPU 周期的分布。这个控制器实现:
- 常规调度策略的权重和绝对带宽限制模型。
- 实时调度策略的绝对带宽分配模型。
内存控制器规定了内存分布。目前,会追踪以下类型的内存用量:
- Userland memory - 页面缓存和匿名内存。
- 内核数据结构,如密度和内节点。
- TCP 套接字缓冲。
- I/O 控制器规定了 I/O 资源的分配。
- 远程直接内存访问(RDMA)控制器限制某些进程可以使用的特定于 RDMA/IB 的资源。这些进程通过 RDMA 控制器分组。
-
进程号控制器使控制组能够在某个限制后停止被
fork()
或clone()
的任何新任务。 - 写回控制器作为一种机制,可平衡 I/O 和内存控制器之间的冲突。
以上信息基于 cgroups-v2 在线文档。您可以参照同一链接获得有关特定 控制组 v2 控制器的更多信息。