点击(此处)折叠或打开
- NAME
- sched_setaffinity, sched_getaffinity - set and get a thread's CPU affinity mask
- 设置并获取线程的CPU关联掩码
- SYNOPSIS
- #define _GNU_SOURCE /* See feature_test_macros(7) */
- #include <sched.h>
- int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask);
- int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);
1. 查看系统有几个CPU/核心. lscpu
点击(此处)折叠或打开
- CPU(s): 4
- On-line CPU(s) list: 0-3
- Thread(s) per core: 1 //每个核心上只能跑一个线程, 好的CPU都能跑多个
- Core(s) per socket: 4 //每个槽上有 4个核
- Socket(s): 1 //只有一个CPU槽有效.
点击(此处)折叠或打开
- #define _GNU_SOURCE
- #include <sched.h>
- cpu_set_t set;
- CPU_SET(childCPU, &set); //指定在某个CPU core 上运行 childCPU 为core的序号.
- if (sched_setaffinity(getpid(), sizeof(set), &set) == -1) //出错的情况.
命令行模式下, 只能设置优先级别.
linux nice 命令详解
功能说明:设置优先权。
语 法:nice [-n ][--help][--version][执行指令]
补充说明:nice指令可以改变程序执行的优先权等级。
参 数:-n或-或--adjustment= 设置欲执行的指令的优先权等级。等级的范围从-20-19,其中-20最高,19最低,只有系统管理者可以设置负数的等级。
linux renice 命令详解
功能说明:调整优先权。