天天看點

程序綁定CPU簡單應用

相關函數:

sched_setaffinity, sched_getaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO - set and get a process's CPU affinity mask

大寫數實際為宏,進行位操作的宏。

       #define _GNU_SOURCE

       #include

       int sched_setaffinity(pid_t pid, unsigned int cpusetsize,

                             cpu_set_t *mask);

       int sched_getaffinity(pid_t pid, unsigned int cpusetsize,

       void CPU_CLR(int cpu, cpu_set_t *set);

       int CPU_ISSET(int cpu, cpu_set_t *set);

       void CPU_SET(int cpu, cpu_set_t *set);

       void CPU_ZERO(cpu_set_t *set);

CPU_ZERO(&mask);

CPU_SET(cpu_id, &mask);

sched_setaffinity(pid, sizeof(mask), &mask);

繼續閱讀