我在Linux上使用libnuma.我的线程应该知道它们正在运行的节点/核心.是否有可能以某种方式获取当前线程的节点/核心?我一直在阅读文档,但我没有找到这样的功能……
解决方法:
我发现这个解决方案:
#include <stdio.h>
#include <utmpx.h>
int main(void) {
printf("CPU: %d\n", sched_getcpu());
return 0;
}
然后,如果你需要cpu的节点,你可以使用numa.h:
int cpu = sched_getcpu();
int node = numa_node_of_cpu(cpu);