Ich habe das Gefühl, dass Hyperthreading auf meinem PC nicht aktiviert ist. Ich habe mich umgesehen /proc/cpuinfo
und dort ist beschrieben, dass Geschwister die gleiche Anzahl haben wie CPU-Kerne. Dies bedeutet, dass das Hyperthreading nicht aktiviert ist. Wie kann ich es aktivieren?
Teileinträge von /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
quelle
Führen Sie
top
ein Terminal aus und drücken Sie die Nummer1
auf Ihrer Tastatur, um die Auslastung pro CPU in der Kopfzeile anzuzeigen. Wie viele CPUs sind dort beschrieben?Wenn es sich um das Doppelte der tatsächlichen Kerne in Ihrer CPU handelt, funktioniert das Hyperthreading ordnungsgemäß.
quelle
Um festzustellen, ob Sie Hyperthreading (auch bekannt als Intel Hyperthreading Technology) verwenden, können Sie dmidecode verwenden .
In einem Terminal:
Suchen Sie nach dem Statuswert "Bestückt", "Aktiviert" (siehe unten zwischen * ... *). "Aktiviert" bedeutet, dass das Hyperthreading aktiv ist
In einer logischen Hyperthread-CPU wird der Statuswert " unbestückt" angezeigt (siehe unten zwischen * ... *):
Quelle
quelle
dmidecode | grep -i popula
auch gedrucktStatus: Populated, Enabled
. Siehe auch meine Antwort .im ergebnis von dmidecode kann man sowas bekommen
auf Servern mit Hyper-Thread auf ON gesetzt
oder
auf diejenigen, die auf OFF gesetzt sind
quelle
Thread Count
ändert sich nicht , wenn Hyperthreading deaktiviert ist , zB auf einem i7-6600U System mit behindertem Hyperthreadingdmidecode | grep '\(Core\|Thread\).*:'
drucktCore Count: 2 Core Enabled: 2 Thread Count: 4
.Spoiler: Ihre CPU unterstützt kein Hyperthreading .
Eine Alternative zur Abfrage der Datenbank des CPU-Herstellers besteht darin,
/proc/cpuinfo
nach demht
Flag zu suchen :Auch wenn Hyperthreading im BIOS deaktiviert ist, sollte das Flag in dieser Ausgabe enthalten sein.
Um zu überprüfen, ob Hyperthreading tatsächlich aktiviert ist, können Sie eine andere Pseudodatei konsultieren :
Mögliche Werte sind:
on|off|forceoff|notsupported|notimplemented
Sie können das Hyperthreading aktivieren / deaktivieren, indem Sie
on
/off
in diese Pseudodatei schreiben , z.Dies funktioniert natürlich nicht, wenn der
cat
zuvor gedruckte vonforceoff|notsupported|notimplemented
.Normalerweise ist Hyperthreading standardmäßig aktiviert. Und wenn es deaktiviert ist, geschieht dies normalerweise im BIOS. Wenn es im BIOS deaktiviert ist, enthält diese Pseudodatei wahrscheinlich
forceoff
und Sie müssen die Einstellung im BIOS ändern.quelle