一、简介
taskset 命令用于设置或者获取一直指定的 PID 对于 CPU 核的运行依赖关系。通过 taskset 命令可将某个进程与某个CPU核心绑定,使得其仅在与之绑定的CPU核心上运行
关于绑核的解释
绑核,其实就是设定某个进程/线程与某个CPU核的亲和力(affinity)。设定以后,Linux调度器就会让这个进程/线程只在所绑定的核上面去运行。但并不是说该进程/线程就独占这个CPU的核,其他的进程/线程还是可以在这个核上面运行的。如果想要实现某个进程/线程独占某个核,就要使用cpuset命令去实现。
其实,很多情况下,为了提高性能,Linux调度器会自动实现尽量让某个进程/线程在同样的CPU上去运行。所以,除非必须,我们没有必要显式的去进行进程绑核操作。
二、使用方法
使用top查看某个进程的PID
执行taskset -p PID查看这个进程和这个进程的所有线程绑定的核,从mask的值来看5631这个进程绑定的核为cpu0-3、cpu6-cpu7,所以这个进程会在这6个核上运行。
执行taskset -p mask PID 可以修改绑定的核,mask的值为f,代表绑定的核为cpu0-3(00001111)