Einige BIOS haben nicht die Option zum Deaktivieren von Hyperthreading der CPU, gibt es eine Möglichkeit, es in der Windows 7-Registrierung zu deaktivieren? Oder ein Tool oder eine Software?
Ich kenne die Registerkarte "Start" von msconfig (erweiterte Optionen) und deaktiviere dort Prozessoren. Ich weiß nicht, ob sie vollständige Kerne oder Hyperthreads deaktivieren oder wie ich sie erkennen kann.
32bit oder 64bit Windows 7
BEARBEITEN:
Nehmen wir an, es ist ein Dual Core oder mehr mit Hyperthreading.
Im Geräte-Manager werden 4 Prozessoren auf meinem i5 Intel-Prozessor angezeigt, und Sie können sie auch nicht deaktivieren, verdammt.
Antworten:
Aus dem Intel Core Processor-Datenblatt, Band 1 , Seite 38:
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):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 .quelle
Das Deaktivieren von Hyper-Threading ist eine reine BIOS-Angelegenheit.
Ich gehe davon aus, dass Sie Hyper-Threading deaktivieren möchten, weil Sie eine Anwendung haben, die nicht für diese Funktion optimiert ist und möglicherweise eine verringerte Leistung aufweist.
Bei der CPU-Nummerierung sind die physischen Kerne ungerade nummeriert. In einem HT-System mit zwei Kernen wären also die Kerne 1 und 3 die "echten" CPUs. Wenn Sie in msconfig 2 Kerne auswählen, werden die Kerne 1 und 2 der CPU aktiviert, sodass eine physische und logische CPU (HT) aktiv ist. Dies würde Ihnen nicht helfen, wenn Sie Probleme mit Software haben, die Probleme mit HT hat.
quelle
In Windows ist es am einfachsten, die Affinität von explorer.exe zu ändern, da jeder Prozess, der von dort gestartet wird, die Affinitätsmaske erbt. Es ist immer noch alles andere als perfekt, aber zumindest machst du das nur einmal pro Sitzung.
quelle