![使用“isolcpus”和“cpuset”的核心](https://linux22.com/image/710106/%E4%BD%BF%E7%94%A8%E2%80%9Cisolcpus%E2%80%9D%E5%92%8C%E2%80%9Ccpuset%E2%80%9D%E7%9A%84%E6%A0%B8%E5%BF%83.png)
我有一台 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 又会产生不同的结果吗?