我有一台 Red Hat Enterprise Linux Server 6.9 版(Santiago)(我不管理它)。在 GRUB 配置文件中,我有isolcpus=2-32
(36 个核心)。我还有一个 cgroup,cpuset=2-32
通过它分配cgset.conf
给该系统上的所有重要进程。
我的问题是:这两个设置如何相互作用?
通常,当我启动一个进程时,taskset -c 2-32
所有线程最终都会在核心 2 上,因为 isolcpus “从调度程序中删除核心”,正如我所说的,所以没有负载平衡。
然而,cpuset 的观察效果不同——各种进程和线程最终位于不同的核心上。
有人可以解释一下为什么isolcpus
命令taskset
会产生一个结果,而isolcpus
cgroups/cpusets 又会产生不同的结果吗?