一尘不染

NUMA获取当前节点/核心

linux

我在Linux上使用libnuma。我的线程应该知道它们正在运行的节点/核心。是否可以某种方式获取当前线程的节点/核心?我已经看过文档,但是没有找到这样的功能…


阅读 706

收藏
2020-06-07

共1个答案

一尘不染

我找到了这个解决方案:

#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);
2020-06-07