2017-09-11 33 views
0

我在bash脚本如下代码:处理器亲和力taskset的

echo "bash pid => $$"; 
echo "processor affinity before => $(taskset -p $$)" 
taskset -cp ${AN_INTEGER} $$ 
echo "processor affinity after => $(taskset -p $$)" 

我得到这样的输出:

processor affinity before => pid 5047's current affinity mask: ff 
pid 5047's current affinity list: 0-7 
pid 5047's new affinity list: 1 
processor affinity after => pid 5047's current affinity mask: 2 

没有人知道这是什么意思?

我开始搞处理器亲缘关系的原因是因为我会启动多个bash子进程,并且所有bash子进程的亲缘关系都具有值“ff”,所以它们看起来好像都是针对同一个CPU。

回答

1

亲和力掩模控制设置一个过程可以运行在处理器 - 不是一个单一的特定的处理器。在此掩码中为1的位表示该进程可以运行的处理器。既然你指定你希望这个进程只在CPU 1上运行,亲和力掩码现在是0b00000010或者2.

+1

呵呵,我想我可以查看关联列表与关联掩码之间的区别 –