我上周刚买了一台新电脑,一直在运行 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
在运行单个查询时也一样)是单线程的,因此它一次只能使用一个核心。支持多线程的应用程序将能够同时使用多个核心。