对于 systemd 服务,cpuset 无法正常工作

对于 systemd 服务,cpuset 无法正常工作

我正在使用 systemd 运行 kubelet 服务,并尝试将所有 kubelet 进程固定到单个 CPU 核心。

编辑/sys/fs/cgroup/kube.slice/cpuset.cpus并输入7.taskset命令显示配置正确:

$ sudo cat /sys/fs/cgroup/kube.slice/cpuset.cpus.effective 
7
$ pidof kubelet 
2255
$ taskset -cp 2255
pid 2255's current affinity list: 7

但该过程仍在使用其他核心

$ ps -T -p 2255 -o pid,spid,psr
    PID    SPID PSR
   2255    2255   8
   2255    2256   7
   2255    2257   7
   2255    2258   8
   2255    2259   7
   2255    2260   5
   2255    2261   2
   2255    2262   1
   2255    2263   1
   2255    2264   8
...

我也检查过/sys/kernel/debug/sched/debug,kublet 进程实际上正在其他核心上运行。sudo service kubelet restart也没有帮助。

是我做错了什么还是因为 systemd 运行 kublet?

$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:    22.04
Codename:   jammy

相关内容