显示哪些CPU使用tuned进行分区(隔离)的内核数据结构?

显示哪些CPU使用tuned进行分区(隔离)的内核数据结构?

这适用于 Red Hat Linux 7.9,内核 3.10.0-1160.71.1 。

我想知道什么内核数据结构可以用来显示它认为哪些CPU是使用tuned隔离的。这意味着我不是通过使用isolcpus内核命令行参数而是使用tuned-adm profile cpu-partitioning.有没有这样的可视化数据结构?

注意:我不想cat /etc/tuned/cpu-partitioning-variables.conf,甚至不想tr ' ' '\n' < /proc/cmdline | grep tuned.non_isolcpus。显然,我能做到。

为什么不审查tuned.non_isolcpus?也许我可以用一个例子来说明:您可以在系统上/etc/tuned/cpu-partitioning-variables.conf设置。no_balanace_cores重新启动后,您可以cat /run/tuned/no-balance-cpus.txt检查您的设置。但是,您也可以例如

# grep . /proc/sys/kernel/sched_domain/cpu15/domain*/flags
/proc/sys/kernel/sched_domain/cpu15/domain0/flags:4655
/proc/sys/kernel/sched_domain/cpu15/domain1/flags:25647

如果你回顾https://elixir.bootlin.com/linux/v3.10/source/include/linux/sched.h#L769https://elixir.bootlin.com/linux/v3.10/source/kernel/sched/core.c,你可以看到 SD_LOAD_BALANCE就是0x0001。由于上面的数字是奇数,在我的例子中,我不会在 CPU 15 上进行负载平衡。这是 CPU 实际设置的反映,而不仅仅是系统认为它告诉内核要做什么的指示。

/proc 或 /sys 中是否有包含类似信息但有关 CPU 隔离的数据结构?具体来说是关于调整的?

我花了几个小时搜索 /proc、/sys 和 Google,但没有结果。谢谢。

相关内容