首页/系统/Linux 内核与性能调优速查/cgroup v2 cpuset 核心与节点绑定
CPU 与调度60 条

cgroup v2 cpuset 核心与节点绑定

cpuset.cpus 与 cpuset.mems 把一组任务限定在指定 CPU 与 NUMA 节点上运行,属于硬性隔离,常用于核心独占。

接口cpuset.cpus / cpuset.mems
systemd 对应AllowedCPUs= / AllowedMemoryNodes=
子组规则集合必须为父组子集

设置示例

设置示例
cat /sys/fs/cgroup/<组>/cpuset.cpus.effective
echo 2-3 > /sys/fs/cgroup/<组>/cpuset.cpus
echo 0 > /sys/fs/cgroup/<组>/cpuset.mems
systemctl set-property myservice.service AllowedCPUs=2-3

易错点

  • cpuset.mems 写错(如用了任务不可达的节点)会导致分配失败或 OOM
  • cpuset 是硬绑定:绑错核比不限核更糟,改前先确认核编号与 NUMA 拓扑

数据来源与参考

  • Linux 内核 Documentation/admin-guide/cgroup-v2.rst
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌