设置CPU亲和性
#define _GNU_SOURCE
#include <stdio.h>
#include <pthread.h>
#include <sched.h>
int sys_affinity_bind(int coreNum)
{
cpu_set_t cpuset;
int i, rc;
/* set main thread affinity mask to CPU1 */
CPU_ZERO(&cpuset);
CPU_SET(coreNum, &cpuset);
rc = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
if (rc)
{
perror("pthread_setaffinity_np failed\n");
printf("pthread_setaffinity_np failed: %d\n", rc);
}
}
编译报错
解决方法
#define _GNU_SOURCE 放在 #include <sched.h>之前