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