-
-
[求助]如何让程序只使用多核CPU的一个核
-
发表于:
2010-5-25 04:39
8002
-
要对一个程序做profile,用rdtscp指令。但是有点小问题,在多核cpu上,各个核之间的counter是不同步的,需要把程序设置成只使用一个核。
Windows下面很简单:
SetProcessAffinityMask(GetCurrentProcess(), 1);
就可以了。
Linux下面要如何实现呢?
google了一下,估计是使用, sched_setaffinity()这个API吧。可是不知道mask参数如何设置。
cpu_set_t mask;
/* 如何设置 mask ? (当前使用的CPU有8个核)*/
sched_setaffinity(0, sizeof(mask), &mask);
希望能给个详细些的说明。
谢谢!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!