Включение гиперпоточности на сервере Centos 7.3 с использованием Intel Xeon E5620

У меня есть сервер Centos 7.3 с двухъядерным четырехъядерным процессором Intel Xeon E5620 @ 2,40 ГГц. Я хотел бы использовать гиперпоточность на этом сервере, но, кажется, он был отключен.

В спецификации на этот чип указано, что он должен поддерживать гиперпоточность:

Технология Intel® Hyper-Threading ‡ Да

https://ark.intel.com/products/47925/Intel-Xeon-Processor-E5620-12M-Cache-2_40-GHz-5_86-GTs-Intel-QPI

И флаги процессора указывают на то же самое:

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
            clflush dts mmx fxsr sse sse2 ss **ht** syscall nx rdtscp
            lm constant_tsc arch_perfmon pebs bts nopl xtopolog 
            tsc_reliable nonstop_tsc aperfmperf pni ssse3 cx16 sse4_1
            sse4_2 x2apic popcnt hypervisor lahf_lm ida arat dtherm

На данный момент на компьютере установлено ядро ​​SMP (я думаю), основанное на имени:

Linux PR-ORACLE01.prvln.local 3.8.13-118.14.1.el7uek.x86_64 #2 SMP

Причина, по которой я не думаю, что гиперпоточность включена, - вывод lscpu:

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 26
Model name:            Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
0   0    0      0    0:0:0:0       yes
1   0    0      1    0:0:0:0       yes
2   0    1      2    1:1:1:1       yes
3   0    1      3    1:1:1:1       yes

Насколько я понимаю, я должен видеть два потока на ядро, а не только один поток.

У меня была хорошая охота и единственные предложения, которые я мог найти, чтобы убедиться, что у меня запущено ядро ​​smp (я думаю, что это поведение по умолчанию сейчас, но, исходя из названия выше, у моего ядра оно есть), или попробуй пройти acpi=ht в ядро ​​через grub при загрузке. (Не помогло, но acpi уже был включен, так что я не ожидал, что это сделает многое)

Эта страница здесь: https://www.golinuxhub.com/2018/01/how-to-disable-or-enable-hyper.html указывает, что вы должны иметь возможность включить / выключить его, повторив 0 или 1 в

/sys/devices/system/cpu/cpu${i}/online;

(где $ i - рассматриваемый процессор)

Этот файл не существует на моем компьютере, но есть файл / sys / devices / system / cpu / online, который просто содержит

0-3

Насколько я могу судить, это включено в BIOS (или, по крайней мере, Multiprocessor Specification установлено на 1.4)

 Multiprocessor Specification:    [1.4]

https://i.imgur.com/oylFALZ.png <- скриншот биоса

https://i.imgur.com/W8lo9od.png <- снимок экрана расширенного управления набором микросхем

Advanced Chipset Control

Enable memory gap:      [Disabled]
ECC Config:             [Disabled]
SERR signal condition   [Multiple bit]

Я неправильно интерпретирую вывод lspcu? Или мне нужно что-то еще сделать, чтобы включить это?

Спасибо

1 ответ

Пожалуйста, включите Hyperthreading в системном ПЗУ или в утилите BIOS.

В зависимости от серверного решения это необходимо сделать до загрузки системы.

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