web-dev-qa-db-fra.com

Comment puis-je tester si Ubertu a activé l'hyperthreading?

J'ai l'impression que l'hyperthreading n'est pas activé sur mon pc. J'ai jeté un coup d'oeil dans /proc/cpuinfo et il est décrit que la fratrie a le même nombre que les cœurs de processeur. Cela signifie que l'hyperthreading n'est pas activé. Comment puis-je l'activer?

Entrées partielles 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
13
grenzfrequence

/ sys/bus/cpu/devices/cpu */topology/thread_siblings_list montre la disposition des cœurs et des hyperthreads. Pour faciliter la visualisation, je vous recommande d'utiliser la commande lstopo, à installer avec:

Sudo apt-get install hwloc

et courir avec:

lstopo

Mon bureau ivybridge dispose de 4 processeurs; chacun a un hyperthread, nous obtenons donc un diagramme avec les cœurs P # 0..3 et chacun a deux PU (l'un d'entre eux étant l'hyperthread):

enter image description here

Si vous voulez juste une version texte de cette sortie, utilisez:

lstopo -
15
Colin Ian King

Exécutez top dans un terminal, appuyez sur le numéro 1 de votre clavier pour afficher la charge par cpu dans l’en-tête. Combien de cpus y sont décrits?

Si elles sont le double des cœurs réels de votre CPU, l’hyperthreading fonctionne comme il se doit.

9
Bruno Pereira

Pour détecter si vous utilisez l'hyperthreading (autrement dit la technologie Intel Hyperthreading), vous pouvez utiliser dmidecode .

Dans un terminal:

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

Recherchez une valeur de statut remplie, activée (indiquée ci-dessous entre * ... *), c'est-à-dire "activée" signifie que l'hyperthreading est actif.

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

Dans une CPU logique hyperthreaded, vous verrez une valeur Status de non peuplée (indiquée ci-dessous 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

source

6
fossfreedom

dans le résultat de dmidecode, vous pouvez obtenir quelque chose comme

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

sur les serveurs avec hyper thread défini sur ON

ou

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

sur ceux réglés sur OFF

2
user56344