这适用于 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#L769和https://elixir.bootlin.com/linux/v3.10/source/kernel/sched/core.c,你可以看到 SD_LOAD_BALANCE
就是0x0001
。由于上面的数字是奇数,在我的例子中,我不会在 CPU 15 上进行负载平衡。这是 CPU 实际设置的反映,而不仅仅是系统认为它告诉内核要做什么的指示。
/proc 或 /sys 中是否有包含类似信息但有关 CPU 隔离的数据结构?具体来说是关于调整的?
我花了几个小时搜索 /proc、/sys 和 Google,但没有结果。谢谢。