Hyperthreading em 32 bits, mas não em 64 bits?

3

Eu tenho uma situação estranha. Eu tenho dois computadores com hardware idêntico, ambos Core i5, exatamente o mesmo modelo. A única diferença é o sistema operacional, um tem 12,04 32 bits e outro tem 12,04 64 bits.

O problema é que o hyperthreading é ativado apenas no sistema operacional de 32 bits e não no sistema operacional de 64 bits. Você pode me dizer por que e como posso ativá-lo?

Eu olhei no BIOS e ambos têm exatamente as mesmas configurações, ambos hyperthreading habilitado no BIOS, mas não no sistema operacional.

2 processadores lógicos:

 Architecture:          x86_64  
CPU op-mode(s):        32-bit, 64-bit  
Byte Order:            Little Endian  
CPU(s):                2  
On-line CPU(s) list:   0,1  
Thread(s) per core:    1  
Core(s) per socket:    2  
Socket(s):             1  
NUMA node(s):          1  
Vendor ID:             GenuineIntel  
CPU family:            6  
Model:                 42  
Stepping:              7  
CPU MHz:               2294.665  
BogoMIPS:              4589.73  
Virtualization:        VT-x  
L1d cache:             32K   
L1i cache:             32K  
L2 cache:              256K  
L3 cache:              3072K  
NUMA node0 CPU(s):     0,1 

4 processadores lógicos:

Architecture:          i686  
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:    2  
Core(s) per socket:    2  
Socket(s):             1  
Vendor ID:             GenuineIntel  
CPU family:            6  
Model:                 42  
Stepping:              7  
CPU MHz:               800.000  
BogoMIPS:              4589.36  
Virtualization:        VT-x  
L1d cache:             32K  
L1i cache:             32K  
L2 cache:              256K  
L3 cache:              3072K  
    
por madmax 17.08.2013 / 15:08

3 respostas

4

Certifique-se de não inicializar com acpi=off , pois isso desativa o hyperthreading. Você pode inicializar com acpi=ht , que é como acpi=off , mas permite que apenas as partes necessárias do acpi usem o hyperthreading.

    
por Symin 25.08.2013 / 18:54
2

Existem muitas CPUs sob o nome do Core i5. dê uma olhada neste link para ver uma lista completa deles.

Existem CPUs i5 com 2 núcleos (codinome Clarkdale e Arrandale) e 4 núcleos (codinome Lynnfield) para mais informações, veja este link .

    
por sajjadG 22.08.2013 / 18:35
2

Quando você precisa saber se o hyper-threading está habilitado sem a necessidade de reinicializar o sistema (e consultar o BIOS), basta olhar a saída de cat /proc/cpuinfo e comparar os irmãos com os campos de núcleos da CPU. / p>

Mesmo que cat /proc/cpuinfo mostre a você todas as CPUs lógicas (campo do processador) no sistema, o campo irmãos contém o número de CPUs lógicas para a CPU física à qual essa entrada pertence (incluindo os núcleos e as LCPUs com hyper-threaded) ).

Em outras palavras, se você vir:

processor : 8
physical id : 9
siblings : 4
cpu cores : 2

Isso significa que a LCPU # 8 (a oito CPU lógica em seu sistema) é uma das 4 CPUs lógicas na CPU física que possui 2 núcleos. Então, sim, o hyper-threading está ativado.

Se o número de núcleos da CPU é o mesmo que o número de irmãos, o hyper-threading está desativado.

    
por Mitch 24.08.2013 / 18:51

Tags