como posso testar se o hyperthreading ativado pelo ubuntu?

11

Tenho a sensação de que o hyperthreading não está ativado no meu pc. Eu dei uma olhada em /proc/cpuinfo e é descrito que os irmãos têm o mesmo número que os núcleos de cpu. Isso significa que o hyperthreading não está ativado. Como posso ativá-lo?

Entradas de parte 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
    
por grenzfrequence 28.10.2011 / 00:24

4 respostas

13

/ sys / bus / cpu / devices / cpu * / topologia / thread_siblings_list mostra o layout dos núcleos e hyperthreads. Para facilitar a visualização, recomendo usar o comando lstopo, instalar com:

sudo apt-get install hwloc

e execute com:

lstopo

Meu desktop ivybridge tem 4 CPUs; cada um tem um hyperthread, então nós pegamos um diagrama com o Núcleo P # 0..3 e cada um tem dois PU's (sendo um deles o hyperthread):

Se você quiser apenas uma versão em texto desta saída, use:

lstopo -
    
por Colin Ian King 17.10.2012 / 10:46
8

Execute top em um terminal, pressione o número 1 no seu 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 em seu processador, o hyperthreading está funcionando como deveria.

    
por Bruno Pereira 28.10.2011 / 00:36
6

Para detectar se você está usando hyperthreading (também conhecido como Intel Hyperthreading Technology), você pode usar dmidecode .

Em um terminal:

sudo dmidecode > /tmp/dmidecode.txt
gksudo gedit /tmp/dmidecode.txt

Procure um valor de Status de Preenchido, Ativado (mostrado abaixo entre * ... *), ou seja, "Ativado" significa que o hyperthreading está ativo

Physical CPU
Handle 0x000C, DMI type 4, 32 bytes
Processor Information
Socket Designation: Socket 1 CPU 1
Type: Central Processor
Family: Xeon
Manufacturer: GenuineIntel
ID: 43 0F 00 00 01 03 00 00
Signature: Type 0, Family 15, Model 4, Stepping 3
Flags:
FPU (Floating-point unit on-chip)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
Version: Intel Xeon
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 4000 MHz
Current Speed: 3800 MHz
Status: *Populated, Enabled*
Upgrade: ZIF Socket
L1 Cache Handle: 0x0004
L2 Cache Handle: 0x0005
L3 Cache Handle: Not Provided

Em uma CPU lógica Hyperthreaded, você verá um valor de Status de despovoado (mostrado abaixo entre * ... *):

Handle 0x000D, DMI type 4, 32 bytes
Processor Information
Socket Designation: Socket 2 CPU 2
Type: Unknown
Family: Unknown
Manufacturer: Not Specified
ID: 00 00 00 00 00 00 00 00
Version: Not Specified
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 4000 MHz
Current Speed: 3800 MHz
Status: *Unpopulated*
Upgrade: ZIF Socket
L1 Cache Handle: 0x0006
L2 Cache Handle: 0x0007
L3 Cache Handle: Not Provided

fonte

    
por fossfreedom 28.10.2011 / 00:36
2

no resultado do dmidecode, você pode obter algo como

    Core Count: 6
    Core Enabled: 6
    Thread Count: 12

em servidores com hyper thread configurado para ON

ou

    Core Count: 6
    Core Enabled: 6
    Thread Count: 6

naqueles definidos como OFF

    
por user56344 24.04.2012 / 08:44