0

我在 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。

4

1 回答 1

1

亲和性掩码控制进程可能运行的处理器- 而不是单个特定处理器。此掩码中为 1 的位表示进程可以在其上运行的处理器。由于您指定希望此进程仅在 CPU 1 上运行,因此关联掩码现在为 0b00000010 或 2。

于 2017-09-11T01:39:22.553 回答