是否有规范的编程方式来查询属于NUMA节点的一组核心?

时间:2018-06-25 20:57:53

标签: linux multicore numa

可以使用以下shell命令获得属于每个NUMA节点的一组内核。

$ lscpu | grep NUMA
NUMA node(s):          2
NUMA node0 CPU(s):     0-7,16-23
NUMA node1 CPU(s):     8-15,24-31

虽然不难解析此输出以确定属于每个NUMA节点的内核集,但依靠shell命令的格式化输出来收集此类信息却很脆弱。

Linux中是否有规范的API来确定哪些内核集属于哪个NUMA节点?

例如,系统调用或/proc/sys下的一组文件。

1 个答案:

答案 0 :(得分:2)

基于lscpukernel documentation的源代码,看起来相关的信息在每个NUMA节点的以下两条特殊路径中均可用。

/sys/devices/system/node/nodeX/cpulist
/sys/devices/system/node/nodeX/cpumap

此外,可以从以下路径获取NUMA节点的名称。

/sys/devices/system/node/possible