我在bash脚本中有以下代码:
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。
答案 0 :(得分:1)
关联性掩码控制进程可以运行的处理器的集 - 而不是单个特定处理器。此掩码中为1的位表示可以运行该进程的处理器。由于您指定希望此过程仅在CPU 1上运行,因此关联掩码现在为0b00000010或2。