À partir de la fiche technique du processeur Intel Core, volume 1 , page 38:
Technologie Intel Hyper-Threading
[...] Cette fonction doit être activée à l'aide du BIOS et nécessite la prise en charge du système d'exploitation.
En effet, l'hyperthreading est un matériel physique réel sur la puce du processeur et peut donc être activé / désactivé uniquement au niveau matériel .
Si vous savez quelle application ne fonctionne pas bien avec l'hyperthreading, vous pouvez utiliser un outil comme StartAffinity si vous avez XP.
Si vous utilisez Windows 7, une start
commande intégrée peut le faire. Utilisez la commande suivante pour lancer un processus avec une affinité de processeur particulière (encore une fois, l' /AFFINITY
argument n'a été ajouté que dans Windows 7):
start /AFFINITY <mask> "C:\yourprogram.exe"
Où <mask>
doit être remplacé par le masque hexadécimal pour les processeurs que vous souhaitez exécuter (le masque de processeur est juste un masque binaire activant / désactivant cette affinité, donc 00000101 active CPU0 et CPU2, et 00000010 active uniquement CPU1).
Pour calculer la valeur hexadécimale, vous pouvez soit convertir le masque binaire, soit prendre la somme de 2 à la puissance des cœurs sur lesquels vous souhaitez exécuter le programme (à partir de 0), et convertir cette valeur en hexadécimal.
Par exemple, si j'ai un système à quatre cœurs et que je souhaite uniquement que le processus s'exécute sur CPU0 et CPU2, j'ajouterais 2 0 + 2 2 = 1 + 4 = 5. Convertissez 5 en hexadécimal, ce qui n'est que 5, et définissez cela comme votre <mask>
. Vous pouvez également convertir simplement 00000101 en hexadécimal. Si vous ne savez pas comment convertir ces bases, vous pouvez simplement utiliser cette table de conversion .