将内核与“isolcpus”和“cpuset”一起使用

将内核与“isolcpus”和“cpuset”一起使用

我使用 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 产生不同的结果吗?

相关内容