Linux taskset Command

taskset命令用于设置进程(或 线程)的处理器亲和性(Processor Affinity),可以将进程(或 线程)绑定到特定的一个 或 多个CPU上去执行,而不允许将进程(或 线程)调度到其他的CPU上。 但并不是说该进程/线程就独占这个CPU的核,其他的进程/线程还是可以在这个核上面运行的。如果想要实现某个进程/线程独占某个核,就要使用cpuset命令去实现。

掩码形式绑核

按照二进制形式,从最低位到最高位代表物理CPU的#1、#2、……、#n号核。 比如:0x00000001代表CPU的0号核,0x00000003代表CPU的0号和3号核。

命令格式

taskset -p <mask> <PID>

example

taskset -p 0x11 1393

按CPU数直接绑核

命令格式

taskset -cp <cpu-list> <PID>

cpu-list是数字化的cpu列表,多个不连续的cpu可用逗号连接,连续的可用短现连接,比如1,2,5-11等。

example

taskset -cp 1,3 1393

参考