Mam wrażenie, że hyperthreading nie jest aktywowany na moim komputerze. Przyjrzałem się /proc/cpuinfo
i opisano, że rodzeństwo ma tę samą liczbę co rdzenie procesora. Oznacza to, że hyperthreading nie jest aktywowany. Jak mogę to aktywować?
Wpisy części /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
11.10
configuration
grenzfrequence
źródło
źródło
Uruchom
top
w terminalu, naciśnij numer1
na klawiaturze, aby wyświetlić obciążenie na jednostkę centralną w nagłówku, ile procesorów jest tam opisanych?Jeśli są one podwójnymi rzeczywistymi rdzeniami procesora, hyperthreading działa tak, jak powinien.
źródło
Aby wykryć, czy używasz hyperthreading (aka Intel Hyperthreading Technology), możesz użyć dmidecode .
W terminalu:
Poszukaj wartości Status wypełniony, włączony (pokazany poniżej między * ... *), tj. „Włączony” oznacza, że hiperwątkowanie jest aktywne
W Hyperthreaded logical CPU zobaczysz wartość Status unpopulated (pokazany poniżej między * ... *):
źródło
źródło
dmidecode | grep -i popula
również drukujeStatus: Populated, Enabled
. Zobacz także moją odpowiedź .w wyniku kodu dmidecode możesz uzyskać coś takiego
na serwerach z hiperwątkiem ustawionym na WŁ
lub
na ustawionych na WYŁ
źródło
Thread Count
Nie zmienia jeśli hyperthreading jest wyłączony, na przykład w systemie i7-6600U z HyperThreading niepełnosprawnychdmidecode | grep '\(Core\|Thread\).*:'
wydrukiCore Count: 2 Core Enabled: 2 Thread Count: 4
.Spoiler: twój procesor nie obsługuje hyperthreading .
Alternatywą do konsultacji bazę danych dostawcy procesorów jest sprawdzenie
/proc/cpuinfo
dlaht
flagi:Nawet jeśli hyperthreading jest wyłączony w BIOSie, flaga powinna być dołączona do tego wyjścia.
Aby sprawdzić, czy hyperthreading jest rzeczywiście włączony, możesz sprawdzić inny pseudo plik :
Możliwe wartości to:
on|off|forceoff|notsupported|notimplemented
Możesz włączyć / wyłączyć hyperthreading pisząc
on
/off
do tego pseudopliku, np .:Oczywiście nie działa to, jeśli
cat
poprzednio wydrukowanoforceoff|notsupported|notimplemented
.Zwykle hyperthreading jest domyślnie włączony. A jeśli jest wyłączony, zwykle dzieje się tak w BIOS-ie. Jeśli jest wyłączony w systemie BIOS, prawdopodobnie zawiera go pseudoplik
forceoff
i należy zmienić ustawienie w systemie BIOS.źródło