我如何知道当前运行内核的隔离CPU列表?

yve*_*mes 2 linux cpu kernel system-calls

到目前为止,我的应用程序请求其配置文件中的隔离 cpu 列表。然后它pthread_setaffinity_np()用来强制在那种CPU上运行。通常,制作配置文件的人会进入该文件/boot/grub/menu.lst并选择正确的条目,以便了解当前的隔离 cpu 列表是什么。

title CentOS (2.6.32-431.5.1.el6.x86_64)
        root (hd0,1)
        kernel ... isolcpus=4-15
Run Code Online (Sandbox Code Playgroud)

因此,我想避免人们必须在配置文件中手动输入该列表。我的应用程序是否有可能以编程方式获取该列表?

小智 9

cat /sys/devices/system/cpu/isolated
Run Code Online (Sandbox Code Playgroud)

  • 欢迎来到堆栈溢出!虽然此代码片段可以解决问题,但[包括解释](//meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而那些人可能不知道您建议代码的原因。还请尽量不要在代码中添加解释性注释,这会降低代码和解释的可读性! (2认同)