Skip to content

taskset(1)

man 1 taskset

csdn 如何指定进程运行的CPU(命令行 taskset)

同时,因为最近在看redis的相关资料,redis作为单进程模型的程序,为了充分利用多核CPU,常常在一台server上会启动多个实例。而为了减少切换的开销,有必要为每个实例指定其所运行的CPU。

显示进程运行的CPU

taskset -p 21184

pid 21184's current affinity mask: ffffffffffff实际上是二进制24个低位均为1的bitmask,每一个1对应于1个CPU,表示该进程在24个CPU上运行。

指定进程运行在某个特定的CPU上

skset -p c 3 21184

3表示CPU将只会运行在第4个CPU上(从0开始计数)。

显示结果:

pid 21184's current affinity list: 0-23
pid 21184's new affinity list: 3

进程启动时指定CPU

taskset -c 1 ./redis-server ../redis.conf