man 7 cgroup

Author Avatar
STRRL 5月 02, 2020

[toc]

NAME

cgroups - Linux control groups

DESCRIPTION

Control groups, 通常称为 cgroups, 是一个 linux 内核 feature, 将进程组织为有层次结构的组, 然后可以对各种类型的资源进行限制与监控. 内核中的 cgroup 接口以一个被称为 cgroupfs 的伪文件系统的形式提供. 分组在 cgroup 核心内核代码中实现, 不同的资源(内存, CPU 等等)被分别地追踪和监视, 实现在不同的子系统中.

Terminology 术语

cgroup是一组进程的集合, 绑定了一组限制和参数, 通过 cgroupfs 定义.

subsystem 是一个内核组件(kernel component), 修改 cgroup 中进程的行为. 不同的 subsystem 已经被实现了, 可以实现比如: 限制 cgroup 中 CPU 时间的用量和可使用内存, 统计 cgroup 中已使用的 CPU 时间, 冻结/恢复 cgroup 中进程的执行. Subsystems 因也被称为resource controllers(或者简称 controllers).

Controller 中的 cgroup 按照hierarchy来排列. Hierarchy 通过在 cgroupfs 中创建、删除、重命名子目录中来定义. 每个层级的 hierarchy 都可以定义 attributes(例如 limits). Cgroup 所提供的 limits, control 和 accounting 一般在组下的整个子结构中都会起作用. 因此, 在结构中高的 cgruop 层级中定义的 limits, 它下面的 cgroup 都不会超过这个 limits.

Cgroups 版本 1 和版本 2

CGROUPS VERSION 1

CGROUPS VERSION 2

CGROUPS VERSION 2 THREAD MODE

ERRORS

NOTES