Как я могу проверить, что Ubuntu активировал гиперпоточность?

У меня такое ощущение, что гиперпоточность не активирована на моем компьютере. Я посмотрел в /proc/cpuinfo и там описано, что у братьев и сестер есть то же число, что и у ядер процессора. Это означает, что гиперпоточность не активирована. Как я могу активировать его?

Записи части /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
13
задан 28 October 2011 в 02:26

5 ответов

Чтобы обнаружить при использовании гиперпоточности (иначе Intel Hyperthreading Technology), можно использовать dmidecode.

В терминале:

sudo dmidecode > /tmp/dmidecode.txt
gksudo gedit /tmp/dmidecode.txt

Ищите значение Состояния Заполненных, Включенных (показанный ниже между *... *), т.е. "Включенный" означает, что гиперпоточность активна

Physical CPU
Handle 0x000C, DMI type 4, 32 bytes
Processor Information
Socket Designation: Socket 1 CPU 1
Type: Central Processor
Family: Xeon
Manufacturer: GenuineIntel
ID: 43 0F 00 00 01 03 00 00
Signature: Type 0, Family 15, Model 4, Stepping 3
Flags:
FPU (Floating-point unit on-chip)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
Version: Intel Xeon
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 4000 MHz
Current Speed: 3800 MHz
Status: *Populated, Enabled*
Upgrade: ZIF Socket
L1 Cache Handle: 0x0004
L2 Cache Handle: 0x0005
L3 Cache Handle: Not Provided

В Гиперпоточном логическом ЦП Вы будете видеть значение Состояния безлюдных (показанный ниже между *... *):

Handle 0x000D, DMI type 4, 32 bytes
Processor Information
Socket Designation: Socket 2 CPU 2
Type: Unknown
Family: Unknown
Manufacturer: Not Specified
ID: 00 00 00 00 00 00 00 00
Version: Not Specified
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 4000 MHz
Current Speed: 3800 MHz
Status: *Unpopulated*
Upgrade: ZIF Socket
L1 Cache Handle: 0x0006
L2 Cache Handle: 0x0007
L3 Cache Handle: Not Provided

источник

6
ответ дан 28 October 2011 в 02:26

/ sys / bus / cpu / devices / cpu * / topology / thread_siblings_list показывает расположение ядер и гиперпотоков. Чтобы упростить визуализацию, я рекомендую использовать команду lstopo, установить с:

sudo apt-get install hwloc

и запустить с:

lstopo

Мой рабочий стол ivybridge имеет 4 процессора; у каждого есть гиперпотока, поэтому мы получаем диаграмму с ядрами P # 0..3, и у каждого есть два PU (один из них является гиперпоточностью):

enter image description here

Если вы хотите просто текстовую версию этого вывода, используйте:

lstopo -
0
ответ дан 28 October 2011 в 02:26

в результате использования dmidecode вы можете получить что-то вроде

    Core Count: 6
    Core Enabled: 6
    Thread Count: 12

на серверах с гипер-нитью, установленной на ON

или

    Core Count: 6
    Core Enabled: 6
    Thread Count: 6

на этих установленных выключить

0
ответ дан 28 October 2011 в 02:26

Запустите top в терминале, нажмите клавишу 1 на клавиатуре, чтобы показать загрузку на процессор в заголовке, сколько процессоров там описано?

Если они вдвое больше реальных ядер в гиперпоточность вашего процессора работает как надо.

0
ответ дан 28 October 2011 в 02:26

Спойлер: Ваш ЦП не поддерживает гиперпоточность.

Альтернатива консалтингу с базой данных поставщика ЦП должна проверить /proc/cpuinfo для ht флаг:

$ grep -o '\<ht\>' /proc/cpuinfo

Даже если гиперпоточность отключена в BIOS, флаг должен быть включен в тот вывод.

Чтобы проверить, включают ли гиперпоточности на самом деле, можно консультироваться с другим псевдо файлом:

$ cat /sys/devices/system/cpu/smt/control

Возможные значения: on|off|forceoff|notsupported|notimplemented

Можно позволить/запретить гиперпоточность путем записи on/off в тот псевдо файл, например:

# echo off > /sys/devices/system/cpu/smt/control

Конечно, это не работает если cat ранее распечатанный один из forceoff|notsupported|notimplemented.

Обычно, гиперпоточность включена по умолчанию. И если это отключило, это обычно делается так в BIOS. Если это отключено в BIOS, который, вероятно, содержит псевдо файл forceoff и необходимо изменить настройки в BIOS.

0
ответ дан 23 November 2019 в 03:13

Другие вопросы по тегам:

Похожие вопросы: