可以使用以下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
下的一组文件。
答案 0 :(得分:2)
基于lscpu
和kernel documentation的源代码,看起来相关的信息在每个NUMA节点的以下两条特殊路径中均可用。
/sys/devices/system/node/nodeX/cpulist
/sys/devices/system/node/nodeX/cpumap
此外,可以从以下路径获取NUMA节点的名称。
/sys/devices/system/node/possible