查询进程运行的cpu和numa node
#include <stdio.h>
#include <sys/syscall.h>
void main()
{
unsigned cpu = 0;
unsigned node = 0;
syscall (__NR_getcpu, &cpu, &node, 0);
printf("cpu:%d node:%d \r\n", cpu, node);
}
测试:
gcc tmp.c -o out
[ych@localhost tmp2]$ taskset -c 0 ./out
cpu:0 node:0
[ych@localhost tmp2]$ taskset -c 1 ./out
cpu:1 node:1
[ych@localhost tmp2]$ taskset -c 2 ./out
cpu:2 node:0
[ych@localhost tmp2]$ taskset -c 0-10 ./out
cpu:7 node:1