进程绑定CPU简单应用

时间:2022-06-06
本文章向大家介绍进程绑定CPU简单应用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

注:原发表在Hadoop技术论坛


相关函数:
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,
                             cpu_set_t *mask);

       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);