Red Hat Training

A Red Hat training course is available for RHEL 8

26.2. 资源分配模型简介

对于资源管理,systemd 使用控制组版本 2 (cgroups-v2)接口。

注意

默认情况下,RHEL 8 使用 cgroups-v1。因此,您必须启用 cgroups-v2,以便 systemd 可以使用 cgroups-v2 接口进行资源管理。有关如何启用 cgroups-v2 的更多信息,请参阅 挂载 cgroups-v2

要修改系统资源的发布,您可以应用以下一个或多个资源分发模型:

Weights(权重)

通过添加所有子组的权重来分发资源,并根据与所有权重的总和相比的权重为每个子组分配一部分资源。

例如,如果您有 10 个 cgroups,每个权重值为 100,则总和为 1000,每个 cgroup 接收十分之一的资源。

权重通常用于分发无状态资源。要调整控制组的权重,请使用 CPUWeight= 选项。

Limits

cgroup 可以最多可消耗配置的资源量,但您也可以过量使用资源。因此,子组的总限制可能会超过父 cgroup 的限制。

要调整控制组的限制,请使用 MemoryMax= 选项。

Protections

您可以为 cgroup 设置受保护的资源量。如果资源使用率低于保护边界,内核将尽量不惩罚该 cgroup ,而支持竞争同一资源的其它 cgroups 。可以过量使用。

要调整控制组的受保护的资源量,请使用 MemoryLow= 选项。

Allocations
有限资源特定数量的独占分配,如实时预算。过量使用是可能的。