WSL Ubuntu 18.04 显示错误的 Cpu_allowed 掩码

WSL Ubuntu 18.04 显示错误的 Cpu_allowed 掩码

在 WSL 下运行的 Ubuntu 18.04 检测到我的 CPU 错误:

$ cat /proc/self/status | grep Cpus_allowed
Cpus_allowed:   00000001

CPU是i7-4510U(2核/4线程)所以我期望:

Cpus_allowed:   f

或类似的(ff、ffffffff、0000000f)。

奇怪的是,当我运行 4 个进程时,每个进程都会获得一个 CPU 线程,因此以 400% 的 CPU 利用率运行。所以就好像 CPU 掩码没有受到尊重。

taskset不受尊重。这应该使用单个线程 (100%),但它使用全部 4 个线程 (400%):

taskset 2 parallel -j4 'bzip2 < /dev/zero >' ::: {1..10}

这是 WSL 中的错误吗?如果是这样:我该在哪里举报?

背景

问题描述于https://arstechnica.com/civis/viewtopic.php?f=15&t=1442563如上所述:GNU Parallel 检测到错误的 CPU 线程数,因为它查看 CPU 掩码以/proc/*/status确定允许使用多少个 CPU 线程。

相关内容