15.2. 内核资源控制器简介
内核资源控制器启用控制组的功能。RHEL 9 支持适用于控制组版本 1 (cgroups-v1
) and 控制组版本 2 (cgroups-v2
) 的不同控制器。
资源控制器也称为控制组子系统,是一个代表单一资源的内核子系统,如 CPU 时间、内存、网络带宽或磁盘 I/O。Linux 内核提供由 systemd
服务管理器自动挂载的一系列资源控制器。您可以在 /proc/cgroups
文件中找到当前挂载的资源控制器的列表。
表 15.1. cgroups-v1
提供的控制器:
| 设置对块设备的输入/输出访问的限制。 |
|
调整控制组任务的完全公平调度程序(CFS)的参数。 |
|
创建控制组群中任务所使用的有关 CPU 资源的自动报告。 |
| 将控制组任务限制为仅在指定 CPU 子集上运行,并指示任务仅使用指定内存节点上的内存。 |
| 控制控制组群中任务对设备的访问。 |
| 暂停或恢复控制组中的任务。 |
| 设置控制组中任务对内存使用的限制,并对这些任务使用的内存资源生成自动报告。 |
|
使用类标识符( |
| 设置网络流量的优先级。 |
| 为控制组中的多个进程及其子进程设置限制。 |
|
通过 |
| 对控制组群中远程直接内存访问/InfiniBand 特定资源设置限制。 |
| 可用于限制控制组中任务对大量虚拟内存页面的使用。 |
表 15.2. cgroups-v2
提供的控制器:
| 设置对块设备的输入/输出访问的限制。 |
| 设置控制组中任务对内存使用的限制,并对这些任务使用的内存资源生成自动报告。 |
| 为控制组中的多个进程及其子进程设置限制。 |
| 对控制组群中远程直接内存访问/InfiniBand 特定资源设置限制。 |
| 为控制组的任务调整完全公平调度程序(CFS)的参数,并创建控制组中任务所使用的 CPU 资源的自动报告。 |
|
将控制组任务限制为仅在指定 CPU 子集上运行,并指示任务仅使用指定内存节点上的内存。仅支持具有新分区功能的核心功能( |
|
通过 |
资源控制器可以在 cgroups-v1
层次结构或 cgroups-v2
层次结构中使用,不能同时在两者中使用。
其他资源
-
cgroups (7)
手册页 -
/usr/share/doc/kernel-doc-<kernel_version>/Documentation/cgroups-v1/
目录(安装kernel-doc
包后)的文档。