CPU 最大限度利用了一个核心,没有使用其他核心 (John The Ripper)

CPU 最大限度利用了一个核心,没有使用其他核心 (John The Ripper)

我上周刚买了一台新电脑,一直在运行 Ubuntu 14.04。我注意到它只运行一个核心,其他核心的运行效率都低于 5%。我刚才在运行 John The Ripper,它只能最大限度使用一个 CPU。我尝试更改亲和性...

andrew@andrew-MS-7817:~$ taskset -p 0xFFFFFFFF 14219
pid 14219's current affinity mask: 3
pid 14219's new affinity mask: f

不过系统监视器上没有任何变化……3 个 CPU 仍低于 5%。我还执行了 lscpu,输出如下……

andrew@andrew-MS-7817:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Stepping:              3
CPU MHz:               3614.402
BogoMIPS:              6599.82
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-3

我从来没有注意到 CPU 使用率超过 30%...有什么想法吗?

答案1

这是因为使用 CPU 的应用程序(john就您而言,但mysqld在运行单个查询时也一样)是单线程的,因此它一次只能使用一个核心。支持多线程的应用程序将能够同时使用多个核心。

相关内容