J'ai l'impression que l'hyperthreading n'est pas activé sur mon PC. J'ai jeté un coup d'œil /proc/cpuinfo
et il est décrit que les frères et sœurs ont 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
la source
Exécutez
top
dans un terminal, appuyez sur le numéro1
de votre clavier pour afficher la charge par processeur dans l'en-tête, combien de processeurs y sont décrits?S'ils sont le double des cœurs réels dans votre hyperthreading CPU fonctionne comme il se doit.
la source
Pour détecter si vous utilisez l'hyperthreading (alias Intel Hyperthreading Technology), vous pouvez utiliser dmidecode .
Dans un terminal:
Recherchez une valeur de statut Rempli, activé (indiqué ci-dessous entre * ... *), c'est-à-dire que "Activé" signifie que l'hyperthreading est actif.
Dans une CPU logique hyperthreadée, vous verrez une valeur d'état de non peuplé (indiquée ci-dessous entre * ... *):
la source
la source
dmidecode | grep -i popula
impression s'imprime égalementStatus: Populated, Enabled
. Voir aussi ma réponse .dans le résultat de dmidecode, vous pouvez obtenir quelque chose comme
sur les serveurs avec hyper thread défini sur ON
ou
sur ceux réglés sur OFF
la source
Thread Count
ne change pas si l'hyperthreading est désactivé, par exemple sur un système i7-6600U avec desdmidecode | grep '\(Core\|Thread\).*:'
impressions désactivées par hyperthreadingCore Count: 2 Core Enabled: 2 Thread Count: 4
.Spoiler: votre CPU ne prend pas en charge l'hyperthreading .
Une alternative à la consultation de la base de données du fournisseur de CPU est de vérifier
/proc/cpuinfo
l'ht
indicateur:Même si l'hyperthreading est désactivé dans le BIOS, l'indicateur doit être inclus dans cette sortie.
Pour vérifier si l'hyperthreading est réellement activé, vous pouvez consulter un autre pseudo-fichier :
Les valeurs possibles sont:
on|off|forceoff|notsupported|notimplemented
Vous pouvez activer / désactiver l'hyperthreading en écrivant
on
/off
dans ce pseudo fichier, par exemple:Bien sûr, cela ne fonctionne pas si celui
cat
précédemment impriméforceoff|notsupported|notimplemented
.L'hyperthreading est généralement activé par défaut. Et s'il est désactivé, cela se fait généralement dans le BIOS. S'il est désactivé dans le BIOS, ce pseudo-fichier contient probablement
forceoff
et que vous devez modifier le paramètre dans le BIOS.la source