可以使用 taskset 或 systemd CPUAffinity=0 将 dockerd 和 containerd 固定到核心 0
It is possible to pin dockerd and containerd to core 0 using taskset or systemd CPUAffinity=0
我正在尝试查看是否可以将 dockerd 和 containerd 固定到 Linux 服务器上的核心 0,而将所有其他核心留给容器(使用 cpuset)。所以我在我的 systemd 单元上使用了它:
[Service]
CPUAffinity=0
我注意到子进程也被固定到核心 0(任务手册解释这是预期的行为):
grep -i cpu /proc/$PID/status
我的问题是:
- 可以只固定父进程,但子进程可以 运行 通过使用 cpuset
- 有人在做这个吗?我担心的是,我想让一些敏感进程不间断地工作,方法是将中断和其他进程绑定到核心 0
谢谢,
systemd 单元上的 taskset、numactl 和 'CPUAffinity' 将(如预期的那样)使分叉进程固定到特定的 CPU。我找不到 Docker 在等待容器执行时浪费资源的证据,所以暂时我会让它 运行 取消固定。
如果有人给出了更好的答案,很高兴重新打开这个问题。
我正在尝试查看是否可以将 dockerd 和 containerd 固定到 Linux 服务器上的核心 0,而将所有其他核心留给容器(使用 cpuset)。所以我在我的 systemd 单元上使用了它:
[Service]
CPUAffinity=0
我注意到子进程也被固定到核心 0(任务手册解释这是预期的行为):
grep -i cpu /proc/$PID/status
我的问题是:
- 可以只固定父进程,但子进程可以 运行 通过使用 cpuset
- 有人在做这个吗?我担心的是,我想让一些敏感进程不间断地工作,方法是将中断和其他进程绑定到核心 0
谢谢,
taskset、numactl 和 'CPUAffinity' 将(如预期的那样)使分叉进程固定到特定的 CPU。我找不到 Docker 在等待容器执行时浪费资源的证据,所以暂时我会让它 运行 取消固定。
如果有人给出了更好的答案,很高兴重新打开这个问题。