Есть сервер Supermicro SYS-1029P-WTRT с материнской платой X11DDW-NT. Начали разгонять процессор до максимальной частоты — не гонится. Вернее, если управляем частотой из BIOS, то ничего не работает, а если отдаём управление операционной системе, то процессор успешно разгоняется до максимальной частоты 3.2 ГГц. Но хочется большего, можно же!
Более того, BIOS даже не может определить правильно базовую частоту процессоров, показывая 1.5 ГГц.
Сервер Supermicro SYS-1029P-WTRT
По уму нужно всё настроить в BIOS и не зависеть от ОС. Поддержка Supermicro попросила обновить прошивки. На сервере стоит IPMI 1.73.12 и BIOS 3.5. Проверяю, для материнской платы X11DDW-NT вышел новый пакет прошивок с IPMI 01.74.04 и BIOS 3.6.
Материнская плата Supermicro X11DDW-NT — прошивка IPMI 01.74.04 и BIOS 3.6
Среди улучшений скромно спрятался пункт:
- Updated Skylake-SP/Cascade Lake-SP CPU PV microcode
Получается, в старой прошивке BIOS неправильно работал с процессорами.
Процессоры у нас Intel Xeon Silver 4215R. Базовая частота у них 3.2 ГГц, а работают сейчас только на 2 ГГц, как показывает ОС Windows. Если отдать управления процессорами операционной системе, то мы получаем заявленные 3.2 ГГц, Однако, максимальная тактовая частота в режиме Turbo 4 ГГц. Хочу турбо, ну, или хотя бы больше чем 3.2 ГГц. Оперативная память Kingston с максимальной частотой 2933 МГц.
ВНИМАНИЕ: Все настройки выполняем на свой страх и риск, я не виноват. Спалите процессор, будете плакать. И вообще, читайте мануалы перед тем как что-то делать.
На всякий случай докупили вентиляторов в сервер, теперь их 5 штук.
Первая итерация
Накатываю новую прошивку, при этом слетела куча настроек в BIOS, из-за чего перестала загружаться операционная система. Настройки выставил вручную. Не все, нужно выделить время и запланировать новый простой сервера, чтобы всё привести в порядок. Загрузил ОС.
Всё управление процессорами передано в ОС, пока что.
Advanced → CPU Configuration → Advanced Power Management Configuration → Power Technology → Custom. Сами порулим.
Advanced → CPU Configuration → Advanced Power Management Configuration → Power Performance Tuning → OS Controls EPB. Управлять процессором будет теперь не ОС, а BIOS.
После прошивки процессоры начали работать значительно лучше.
Вторая итерация
Настроим управление питанием в BIOS.
Advanced → CPU Configuration → Processor Configuration → Hyper-Threading (ALL) → Disable. Отключаем гипертрейдинг, у нас чисто аппаратный сервер.
Advanced → CPU Configuration → Advanced Power Management Configuration → Power Technology → Custom. Сами порулим.
Advanced → CPU Configuration → Advanced Power Management Configuration → Power Performance Tuning → BIOS Controls EPB. Управлять процессором будет теперь не ОС, а BIOS.
Advanced → CPU Configuration → Advanced Power Management Configuration → ENERGY_PERF_BIAS_CFG mode → Maximum Performance. Даём газку.
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU P State Control → SpeedStep (P-States) → Enable. Включаем EIST (Enhanced Intel SpeedStep Technology).
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU P State Control → Config (Configuring) TDP → Level 2. Устанавливаем только если вентиляторы не справляются.
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU P State Control → EIST PSD Function → HW_ALL.
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU P State Control → Turbo Mode → Enable.
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU C State Control → CPU C6 Report → Enable.
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU C State Control → CPU C3 Report → Disable. (Не помню точно про эту модель, может и не быть этого параметра)
Advanced → CPU Configuration → Advanced Power Management Configuration → CPU C State Control → Enhanced Halt Stat → Disable.
Advanced → CPU Configuration → Advanced Power Management Configuration → Package C State Control → Package C State → C0/C1 state. Не отключаем питание при простое.
Advanced → CPU Configuration → CPU T State Control → Disable. CPU throttling отключаем.
Advanced → Chipset Configuration → North Bridge → Memory Configuration → Memory Frequency → 2666. Поднимаем выше, не до максимума. Процессор сам в турбо-режиме подтянет за собой частоту памяти.
Ну вроде всё, мог что-то забыть. Рекомендую все пункты выполнять по одному, внимательно выясняя что именно вы делаете. Потом включать сервер, проверять работу, потом переходить к следующему пункту. Смотрим что получилось:
3.58 ГГц держит. Память тоже вышла на 2933 МГц. Дальше будет нагрузочное тестирование, но это совсем другая история.
Продолжение разгона здесь: