在Linux中存活下来之通过taskset设置进程的CPU亲密度

taskset让进程在特定的CPU中运行。

retrieve or set a process’s CPU affinity

1
用法:taskset [选项] [掩码 | cpu列表] [pid|命令 [参数...]]

查询进程的CPU掩码

1
2
3
4
[root@hgs ~]# ./test.sh &
[1] 12787
[root@hgs ~]# taskset -p 12787
pid 12787's current affinity mask: ffffffffffffff

14个f,表示有14 x 4 = 56个处理器。

设置进程的CPU掩码

1
2
3
4
5
[root@hgs ~]# taskset -p 3 12787
pid 12787's current affinity mask: ffffffffffffff
pid 12787's new affinity mask: 3
[root@hgs ~]# taskset -pc 12787
pid 12787's current affinity list: 0,1
1
2
3
4
5
[root@hgs ~]# taskset -pc 0,3,7-11 12787
pid 12787's current affinity list: 0,1
pid 12787's new affinity list: 0,3,7-11
[root@hgs ~]# taskset -p 12787
pid 12787's current affinity mask: f89
1
0xf89 = 0b1111 1000 1001

----------本文结束感谢您的阅读----------
坚持原创技术分享,您的支持将鼓励我继续创作!