c – NUMA获取当前节点/核心

我在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);
上一篇:在不同套接字上的处理器之间共享数据的最快方法


下一篇:Java只使用2个CPU中的1个和NUMA(Neo4J)