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 ist darauf zurückzuführen, dass Hyperthreading tatsächlich physische Hardware auf dem CPU-Die 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 über XP verfügen.
Wenn Sie Windows 7 verwenden, gibt es einen integrierten start
Befehl, der dies ausführen kann. Verwenden Sie den folgenden Befehl, um einen Prozess mit einer bestimmten Prozessoraffinität zu starten (wiederum wurde das /AFFINITY
Argument nur in Windows 7 hinzugefügt):
start /AFFINITY <mask> "C:\yourprogram.exe"
Wo <mask>
sollte durch die hexadezimale Maske für die Prozessoren, die Sie ausführen möchten, ersetzt werden (die Prozessormaske ist nur eine binäre Maske, die diese Affinität aktiviert / deaktiviert, so aktivieren 00000101 CPU0 und CPU2 und 00000010 nur CPU1).
Um den Hex-Wert zu berechnen, können Sie entweder die Binärmaske konvertieren oder die Summe von 2 zur Leistung der Kerne berechnen, auf denen das Programm ausgeführt werden soll (beginnend bei 0), und diesen Wert in Hexadezimal konvertieren.
Wenn ich beispielsweise ein System mit vier Kernen habe und möchte, dass der Prozess nur auf CPU0 und CPU2 ausgeführt wird, würde ich 2 0 + 2 2 = 1 + 4 = 5 hinzufügen . 5 in Hex konvertieren, was nur 5 ist, und Setze das als dein <mask>
. Sie können auch 00000101 in Hex konvertieren. Wenn Sie nicht wissen, wie diese Basen konvertiert werden, können Sie diese Konvertierungstabelle verwenden .