第 26 章 了解控制组群


使用控制组(cgroups)内核功能,您可以控制应用程序的资源使用情况来更有效地使用它们。

您可以为以下任务使用 cgroups

  • 为系统资源分配设置限制。
  • 将硬件资源优先分配给特定的进程。
  • 防止某些进程获取硬件资源。

26.1. 控制组简介

使用 控制组 Linux 内核功能,您可以将进程组织为按层排序的组 - cgroups。您可以通过为 cgroup 虚拟文件系统提供结构来定义层次结构(控制组树),默认挂载到 /sys/fs/cgroup/ 目录。

systemd 服务管理器使用 cgroups 来组织它管理的所有单元和服务。您可以通过创建和删除 /sys/fs/cgroup/ 目录中的子目录来手动管理 cgroups 的层次结构。

然后,内核中的资源控制器通过限制、优先处理或分配这些进程的系统资源来在 cgroups 中修改进程的行为。这些资源包括以下内容:

  • CPU 时间
  • 内存
  • 网络带宽
  • 这些资源的组合

cgroups 的主要用例是聚合系统进程,并在应用程序和用户之间划分硬件资源。这样可以提高环境的效率、稳定性和安全性。

控制组群版本 1

控制组版本 1 (cgroups-v1) 提供按资源控制器层次结构。每个资源(如 CPU、内存或 I/O)都有自己的控制组层次结构。您可以组合不同的控制组层次结构,使一个控制器可以与另一个控制器协调管理各自的资源。但是,当两个控制器属于不同的进程层次结构时,协调受到限制。

cgroups-v1 控制器的开发时间跨度很大,导致其控制文件的行为和命名不一致。

控制组群版本 2

控制组版本 2 (cgroups-v2)提供单一控制组层次结构,用于挂载所有资源控制器。

控制文件行为和命名在不同控制器之间保持一致。

有关 cgroups-v1cgroups-v2 的详情,请安装 kernel-doc RPM 软件包。安装后,文档位于本地系统的 /usr/share/doc/kernel-doc- <version> /Documentation 目录中。cgroups-v1 文档文件位于 Documentation/admin-guide/cgroup-v1/ 目录中。此目录在不同控制器中有多个文件。cgroups-v2 文档位于 Documentation/admin-guide/cgroup-v2.rst 文件中。

重要

RHEL 9 默认挂载并使用 cgroups-v2

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat