cgroup的SCHED_IDLE功能说明

SCHED_IDLE是Linux内核中的一种进程调度策略,它决定了进程如何分配和使用CPU资源。Alibaba Cloud Linux 3(内核5.10.134-16.al8及以上版本)支持cgroup(Control Group)级别的SCHED_IDLE功能,并新增了cpu.idle接口,使得每个CPU cgroup能够设置是否采用SCHED_IDLE调度策略,从而实现更为精细的资源管理和调度控制。

接口说明

  • cgroup v1系统中,cpu.idle接口位于/sys/fs/cgroup/cpu/$cg中。

  • cgroup v2系统中,cpu.idle接口位于/sys/fs/cgroup/$cg中。

说明

$cg是一个占位符,代表一个具体的cgroup的名称。

接口

参数值

说明

cpu.idle

0

cgroup的调度策略为非SCHED_IDLE。

1

cgroup的调度策略为SCHED_IDLE,拥有最小的时间片权重,且不再保证最小运行时间。

由于cgroup系统与SCHED_IDLE策略的兼容性问题:

  • 在cgroup v1系统中,cpu.share接口不能被重写。

  • 在cgroup v2系统中,cpu.weight接口和cpu.weight.nice接口不能被重写。