Tenho a sensação de que o hyperthreading não está ativado no meu PC. Dei uma olhada /proc/cpuinfo
e é descrito que os irmãos têm o mesmo número que os núcleos da CPU. Isso significa que o hyperthreading não está ativado. Como posso ativá-lo?
Entradas de peças de /proc/cpuinfo
:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
stepping : 6
cpu MHz : 2997.000
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
11.10
configuration
grenzfrequence
fonte
fonte
Funcione
top
em um terminal, pressione o número1
no teclado para mostrar a carga por CPU no cabeçalho. Quantos cpus estão descritos lá?Se eles são o dobro dos núcleos reais no hyperthreading da CPU, está funcionando como deveria.
fonte
Para detectar se você está usando hyperthreading (também conhecido como Intel Hyperthreading Technology), pode usar o dmidecode .
Em um terminal:
Procure um valor Status preenchido, ativado (mostrado abaixo entre * ... *), ou seja, "Ativado" significa que o hyperthreading está ativo
Em uma CPU lógica Hyperthreaded, você verá um valor Status de não preenchido (mostrado abaixo entre * ... *):
fonte
fonte
dmidecode | grep -i popula
também é impressoStatus: Populated, Enabled
. Veja também minha resposta .no resultado do dmidecode, você pode obter algo como
em servidores com hiper thread definido como ON
ou
naqueles definidos como OFF
fonte
Thread Count
não muda se hyperthreading está desativado, por exemplo, em um sistema i7-6600U com HyperThreading deficientesdmidecode | grep '\(Core\|Thread\).*:'
impressõesCore Count: 2 Core Enabled: 2 Thread Count: 4
.Spoiler: sua CPU não suporta hyperthreading .
Uma alternativa para consultar o banco de dados do fornecedor da CPU é verificar
/proc/cpuinfo
oht
sinalizador:Mesmo se o hyperthreading estiver desativado no BIOS, o sinalizador deve ser incluído nessa saída.
Para verificar se o hyperthreading está realmente ativado, você pode consultar outro pseudo arquivo :
Os valores possíveis são:
on|off|forceoff|notsupported|notimplemented
Você pode ativar / desativar o hyperthreading gravando
on
/off
no pseudo arquivo, por exemplo:Obviamente, isso não funcionará se o
cat
anterior foi impressoforceoff|notsupported|notimplemented
.Normalmente, o hyperthreading é ativado, por padrão. E se estiver desabilitado, geralmente é feito no BIOS. Se estiver desabilitado no BIOS, esse pseudo arquivo provavelmente contém
forceoff
e você precisará alterar a configuração no BIOS.fonte