有没有一种编程方法来为Linux操作系统的c/c++设置进程的CPU亲和力?
最佳答案
您需要使用 sched_setaffinity(2)
。
例如,仅在CPU 0和2上运行:
#define _GNU_SOURCE
#include <sched.h>
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(0, &mask);
CPU_SET(2, &mask);
int result = sched_setaffinity(0, sizeof(mask), &mask);
(第一个参数的
0
表示当前进程,如果要控制其他进程,则提供PID。)另请参见
sched_getcpu(3)
。关于c - 如何在Linux中的C或C++中为进程设置CPU亲和力?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/280909/