我正在使用 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