C线程绑定在CPU的某个核上
inline void bindingCPU(int num) {
int result;
cpu_set_t mask;
CPU_ZERO(&mask); // 将掩码清零
CPU_SET(num, &mask); // 将num添加到掩码中,该进程绑定到num核心
result = sched_setaffinity(0, sizeof(mask), &mask);
if (result < 0) {
printf("binding CPU fails\n");
exit(1);
}
}
查看进程运行所在线程
top,按f后选择P以显示Last Used Cpu (SMP)
本文介绍了如何使用C语言实现线程绑定到特定CPU核心,以优化进程性能。通过`CPU_ZERO`和`CPU_SET`宏设置CPU亲和性,然后调用`sched_setaffinity`函数实现绑定。同时,提到了使用`top`命令观察进程的CPU使用情况。
598

被折叠的 条评论
为什么被折叠?



