A CPU está maximizando um núcleo e não está usando outros (John The Ripper)

3

Eu acabei de construir um novo computador na semana passada e tenho rodado o Ubuntu 14.04. Eu notei que ele sempre executa apenas um núcleo e os outros estarão abaixo de 5%. Eu estava executando o John The Ripper agora e teria apenas um CPU no máximo. Eu tentei mudar a afinidade ...

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

Nada mudou no monitor do sistema embora ... 3 das CPUs ainda estivessem abaixo de 5%. Eu também fiz um lscpu e esta foi a saída ...

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

Eu nunca notei que a CPU ultrapassa 30% de uso ... Alguma idéia?

    
por A.Rowden 16.01.2016 / 19:03

1 resposta

0

Isso ocorre porque o aplicativo que está usando a CPU ( john no seu caso, mas mysqld faz o mesmo ao executar uma única consulta) é monothread, portanto, ele pode usar apenas um núcleo de cada vez. Um aplicativo que suporta multithreading poderá usar mais de um núcleo ao mesmo tempo.

    
por dr01 16.01.2016 / 19:32