Aus dem Intel Core Processor-Datenblatt, Band 1 , Seite 38:
Intel Hyper-Threading-Technologie
[...] Diese Funktion muss über das BIOS aktiviert werden und erfordert die Unterstützung des Betriebssystems.
Dies liegt daran, dass Hyperthreading die tatsächliche physische Hardware auf dem CPU-Chip ist und daher nur auf Hardwareebene aktiviert / deaktiviert werden kann .
Wenn Sie wissen, welche Anwendung mit Hyperthreading nicht gut funktioniert, können Sie ein Tool wie StartAffinity verwenden, wenn Sie XP haben.
Wenn Sie Windows 7 verwenden, gibt es einen integrierten start
Befehl, der dies ermöglicht. Verwenden Sie den folgenden Befehl, um einen Prozess mit einer bestimmten Prozessoraffinität zu starten (erneut wurde das /AFFINITY
Argument nur in Windows 7 hinzugefügt):
start /AFFINITY <mask> "C:\yourprogram.exe"
Wobei <mask>
für die Prozessoren, die Sie ausführen möchten, die hexadezimale Maske ersetzt werden sollte (die Prozessormaske ist nur eine Binärmaske, die diese Affinität aktiviert / deaktiviert, sodass 00000101 CPU0 und CPU2 aktiviert und 00000010 nur CPU1 aktiviert).
Um den Hex-Wert zu berechnen, können Sie entweder die Binärmaske konvertieren oder die Summe von 2 zur Potenz der Kerne, auf denen Sie das Programm ausführen möchten (beginnend mit 0), und diesen Wert in Hexadezimal umwandeln.
Wenn ich zum Beispiel ein Vier-Kern-System habe und nur möchte, dass der Prozess auf CPU0 und CPU2 ausgeführt wird, würde ich 2 0 + 2 2 = 1 + 4 = 5 hinzufügen Setze das als dein <mask>
. Sie können auch einfach 00000101 in Hex konvertieren. Wenn Sie nicht wissen, wie diese Basen konvertiert werden sollen, können Sie einfach diese Konvertierungstabelle verwenden .