Расстановка оперативной памяти на серверных платах Supermicro для AMD EPYC (H11, H12, H13, H14)
Правильная установка модулей оперативной памяти — один из ключевых факторов для раскрытия полного потенциала серверов на базе процессоров AMD EPYC. Ошибки на этом этапе могут привести не только к снижению производительности, но и к невозможности запуска системы. В этом руководстве мы детально разберем архитектуру подсистемы памяти для поколений H11 (Naples), H12 (Rome/Milan), H13 (Genoa/Bergamo) и H14 (Turin), а также предоставим четкие схемы заполнения DIMM-слотов и рекомендации по настройке BIOS.
Общие принципы установки памяти для AMD EPYC
Независимо от поколения, архитектура памяти EPYC основана на нескольких фундаментальных принципах, понимание которых необходимо для правильной конфигурации:
- Каналы памяти: Каждый процессор EPYC имеет встроенные контроллеры памяти, которые делятся на каналы. Процессоры EPYC 7001, 7002 и 7003 имеют 8 каналов памяти на процессор[reference:4][reference:5]. Новые поколения 9004 (Genoa/Bergamo) и 9005 (Turin) увеличили количество каналов до 12 на процессор[reference:6]. Именно количество каналов определяет максимальную теоретическую пропускную способность подсистемы памяти.
- DIMM-слоты на канал: Большинство серверных материнских плат имеют два DIMM-слота на канал (2 DIMM Per Channel, или 2DPC). Это позволяет гибко наращивать объем памяти. Например, для 8-канального процессора часто предусмотрено 16 DIMM-слотов (8 каналов * 2 слота), а для 12-канального — 24 или 32 DIMM-слота. В конфигурациях с двумя процессорами количество слотов удваивается.
- Приоритет заполнения каналов: Для достижения максимальной производительности сначала всегда следует заполнять самые дальние от процессора слоты (обычно это слоты "1" или "B", в зависимости от маркировки), а уже потом — ближние ("0" или "A"). Это связано с электрическими характеристиками шины и позволяет минимизировать нагрузку на каждый канал при использовании 2-х модулей на канал.
- Скорость памяти в зависимости от конфигурации: Максимальная скорость памяти зависит от поколения EPYC и количества установленных DIMM на канал. В целом, при заполнении одного слота на канал (1DPC) достигаются максимальные скорости. При заполнении двух слотов (2DPC) скорость памяти может быть снижена для обеспечения стабильности. Например, для EPYC Rome/Milan скорость DDR4-3200 достигается только при 1DPC, в то время как 2DPC работает на скорости DDR4-2933[reference:7].
Особенности поколений и таблицы совместимости
Переход от одного поколения EPYC к другому сопровождается значительными архитектурными изменениями. Важно понимать эти различия, так как они напрямую влияют на выбор и установку памяти.
+--------------+--------------+------------------+-------------------+---------------------+-------------------------+
| Поколение | Кодовое имя | Процессоры | Тип памяти | Каналов / | Макс. скорость |
| (H-платформа)| и сокет | | | слотов на проц. | (1DPC / 2DPC) |
+--------------+--------------+------------------+-------------------+---------------------+-------------------------+
| H11 | Naples | EPYC 7001 | DDR4 ECC RDIMM, | 8 / 16 | 2666 / 2400 MT/s[reference:8] |
| | (Socket SP3) | | LRDIMM | | |
+--------------+--------------+------------------+-------------------+---------------------+-------------------------+
| H12 | Rome / Milan | EPYC 7002 / 7003 | DDR4 ECC RDIMM, | 8 / 16 | 3200 / 2933 MT/s[reference:9] |
| | (Socket SP3) | | LRDIMM, 3DS RDIMM | | |
+--------------+--------------+------------------+-------------------+---------------------+-------------------------+
| H13 | Genoa / | EPYC 9004 / | DDR5 ECC RDIMM, | 12 / 24 | 4800 / 4400 MT/s*[reference:10] |
| | Bergamo | 9704 | 3DS RDIMM | | |
| | (Socket SP5) | | | | |
+--------------+--------------+------------------+-------------------+---------------------+-------------------------+
| H14 | Turin | EPYC 9005 | DDR5 ECC RDIMM, | 12 / 24 | 6000 / 6400 MT/s**[reference:11]|
| | (Socket SP5) | | 3DS RDIMM | | |
+--------------+--------------+------------------+-------------------+---------------------+-------------------------+
* Для платформы H13 (Genoa) с процессорами 9004 серии максимальная поддерживаемая скорость — 4800 MT/s[reference:12][reference:13]. Установка более быстрой памяти приведет к её работе на максимальной поддерживаемой процессором скорости.
** Для платформы H14 (Turin) на процессорах 9005 серии и материнских платах ревизии 2.0 и выше максимальная скорость может достигать 6000 MT/s[reference:14]. На материнских платах более ранних ревизий скорость может быть ограничена 4800 MT/s[reference:15].
Рекомендуемые схемы заполнения DIMM-слотов
Ниже приведены схемы заполнения для наиболее распространенных конфигураций. Всегда сверяйтесь с официальным руководством пользователя для вашей конкретной модели материнской платы, так как маркировка слотов может незначительно отличаться.
H11 (AMD EPYC 7001 "Naples" / 7002 "Rome" через обновление BIOS)
Платы H11 (например, H11SSL-i) обычно имеют 8 DIMM-слотов для однопроцессорных систем. Рекомендуемые схемы для Naples (8-канальный режим):
+-------------------+---------------------------------------------------+--------------------------------------+
| Количество DIMM | Рекомендуемые слоты для заполнения* | Примечания |
+-------------------+---------------------------------------------------+--------------------------------------+
| 1 | P1-DIMMA1 | Поддерживается, но крайне не |
| | | рекомендуется[reference:17] |
+-------------------+---------------------------------------------------+--------------------------------------+
| 2 | P1-DIMMC1, P1-DIMMD1 | Поддерживается, но не рекомендуется[reference:18] |
+-------------------+---------------------------------------------------+--------------------------------------+
| 4 | P1-DIMMA1, P1-DIMMB1, P1-DIMMC1, P1-DIMMD1 | Первые четыре канала |
+-------------------+---------------------------------------------------+--------------------------------------+
| 6 | P1-DIMMA1, P1-DIMMB1, P1-DIMMC1, P1-DIMMD1, | Несбалансированная, не рекомендуется[reference:19] |
| | P1-DIMME1, P1-DIMMF1 | |
+-------------------+---------------------------------------------------+--------------------------------------+
| 8 (оптимально) | Все 8 слотов | Полностью сбалансированная конфигурация |
+-------------------+---------------------------------------------------+--------------------------------------+
*Приведенные названия слотов являются общими для многих плат. На некоторых моделях может использоваться маркировка "P1-DIMMA1" и "P1-DIMMB1" как имена слотов на канале[reference:20].
H12 (AMD EPYC 7002 "Rome" / 7003 "Milan")
Платы H12 (например, H12SSL-i) продолжают использовать DDR4-память и сокет SP3. Однако, для достижения максимальной производительности и совместимости рекомендуется придерживаться следующих правил:
+-------------------+---------------------------------------------------+--------------------------------------+
| Количество DIMM | Рекомендуемые слоты для заполнения | Эффективная конфигурация |
+-------------------+---------------------------------------------------+--------------------------------------+
| 4 | DIMMA1, DIMMB1, DIMMC1, DIMMD1 | Равномерное заполнение первых 4 каналов|
+-------------------+---------------------------------------------------+--------------------------------------+
| 8 (оптимально) | DIMMA1, DIMMB1, DIMMC1, DIMMD1, | Полностью сбалансированная 8-канальная|
| | DIMME1, DIMMF1, DIMMG1, DIMMH1 | конфигурация (1DPC) |
+-------------------+---------------------------------------------------+--------------------------------------+
| 16 (максимум) | Все 16 слотов (2 слота на каждый из 8 каналов) | Максимальный объем памяти (2DPC) |
+-------------------+---------------------------------------------------+--------------------------------------+
H13 (AMD EPYC 9004 "Genoa" / 9704 "Bergamo")
Платформа H13 знаменует переход на DDR5 и сокет SP5. Количество каналов памяти увеличилось до 12. Рассмотрим схему заполнения для платы H13DSH (однопроцессорная, 24 слота).
+-------------------+--------------------------------------------------------+----------------------------------------+
| Количество DIMM | Рекомендуемая последовательность заполнения | Примечания |
+-------------------+--------------------------------------------------------+----------------------------------------+
| 12 (оптимально) | DIMMA1, DIMMB1, DIMMC1, DIMMD1, DIMME1, DIMMF1, | Полностью сбалансированная |
| | DIMMG1, DIMMH1, DIMMI1, DIMMJ1, DIMMK1, DIMML1 | 12-канальная конфигурация (1DPC)[reference:21] |
+-------------------+--------------------------------------------------------+----------------------------------------+
| 24 (максимум) | Все 24 слота (2 на канал) | Максимальный объем памяти (2DPC) |
+-------------------+--------------------------------------------------------+----------------------------------------+
H14 (AMD EPYC 9005 "Turin")
Платформа H14 для процессоров EPYC 9005 (Turin) продолжает использовать сокет SP5 и 12-канальный контроллер DDR5. Рекомендуемые схемы:
+-------------------+--------------------------------------------------------+----------------------------------------+
| Количество DIMM | Рекомендуемые слоты для заполнения | Примечания |
+-------------------+--------------------------------------------------------+----------------------------------------+
| 12 (оптимально) | Все слоты "C1" для каждого из 12 каналов | 1 DIMM на канал (1DPC)[reference:22] |
+-------------------+--------------------------------------------------------+----------------------------------------+
| 24 (максимум) | Все 24 слота (2 слота на канал) | 2 DIMM на канал (2DPC)[reference:23] |
+-------------------+--------------------------------------------------------+----------------------------------------+
Настройки BIOS: NUMA Nodes per Socket (NPS)
Правильная настройка параметра NUMA Nodes per Socket (NPS) в BIOS критически важна для производительности приложений, чувствительных к задержкам доступа к памяти. NPS определяет, на сколько NUMA-узлов будет разбит процессор с точки зрения операционной системы.
- NPS1: Весь процессор представляется как один NUMA-узел. Память интерливируется (чередуется) по всем каналам. Это упрощает управление памятью для ОС, но может увеличить задержки из-за необходимости обращаться к удаленным контроллерам памяти. Настройка по умолчанию для многих приложений (Auto в BIOS)[reference:26][reference:27].
- NPS2: Процессор делится на 2 NUMA-узла (по 4 канала памяти в каждом). Позволяет приложениям лучше контролировать локальность данных, что может быть полезно для некоторых баз данных.
- NPS4: Процессор делится на 4 NUMA-узла (по 2-3 канала памяти в каждом). Обеспечивает наилучшую локальность данных, что снижает задержки и может дать прирост производительности для высоконагруженных систем[reference:28].
Выбор значения NPS зависит от конкретного приложения. Для большинства универсальных задач оптимальным является NPS1. Для высокопроизводительных вычислений (HPC) и баз данных с большой рабочей нагрузкой на память рекомендуется экспериментировать с NPS2 или NPS4. Например, на платах H13 и H14, где доступно 12 каналов памяти, схема заполнения DIMM напрямую влияет на эффективность этих NUMA-конфигураций[reference:29][reference:30].
Типичные ошибки и их решение
+-------------------------------------+--------------------------------------------------+
| Ошибка / Симптом | Решение |
+-------------------------------------+--------------------------------------------------+
| Система не запускается, | Используйте ТОЛЬКО память из списка |
| индикатор ошибки памяти горит | совместимых модулей (QVL) для вашей |
| | материнской платы. |
+-------------------------------------+--------------------------------------------------+
| Сервер видит не весь объем памяти | Проверьте, правильно ли вставлены все модули, |
| | особенно во вторичных слотах (слоты "0" или "2").|
| | Попробуйте переставить модули местами. |
+-------------------------------------+--------------------------------------------------+
| Система работает медленнее, чем | Убедитесь, что все каналы заполнены одинаково |
| ожидалось, низкая пропускная | (например, по 1 модулю на канал). |
| способность памяти | Проверьте в BIOS, что включена интерливинг |
| | памяти и правильно выставлен параметр NPS. |
+-------------------------------------+--------------------------------------------------+
| Ошибки в POST с кодом, указывающим | Установите память в правильной |
| на неправильный порядок модулей | последовательности, начиная со слотов с |
| | индексом "1". |
+-------------------------------------+--------------------------------------------------+
| Нестабильная работа системы, | Проверьте приложение, все ли модули памяти |
| случайные сбои, Kernel Panic | прошли тесты (MemTest86). Проверьте |
| | температуру модулей памяти. |
+-------------------------------------+--------------------------------------------------+
Чек-лист администратора: быстрый запуск
- Загрузите последнюю версию BIOS для вашей материнской платы с сайта Supermicro.
- Изучите руководство пользователя к вашей материнской плате, особенно раздел "Memory Population Guidelines".
- Используйте сертифицированные модули памяти (RDIMM, 3DS RDIMM) из QVL-списка производителя.
- Всегда начинайте заполнение со слотов "P0-DIMMA1" (и аналогичных) для достижения максимальной пропускной способности.
- В конфигурациях с двумя процессорами всегда устанавливайте одинаковое количество памяти для каждого CPU.
- Зайдите в BIOS и установите соответствующие параметры: "Memory Interleaving", "NPS", "Determinism Slider" (если применимо).
- После запуска системы проверьте вывод команд:
# Linux — просмотр количества памяти и NUMA-узлов
sudo lscpu | grep -E "NUMA|socket"
# Linux — проверка видимого объема памяти и её скорости
sudo dmidecode -t memory | grep -E "Size|Speed|Type"
# Windows — аналогичная информация в PowerShell
Get-WmiObject -Class Win32_PhysicalMemory | Select-Object BankLabel, Capacity, Speed
Резюме
Правильная настройка подсистемы памяти на серверах AMD EPYC — это фундамент стабильности и производительности. Следуя инструкциям производителя и рекомендациям из этого руководства, вы сможете раскрыть весь потенциал ваших серверов на платформах H11, H12, H13 и H14. Всегда начинайте с изучения официальной документации и используйте совместимые компоненты. Регулярно обновляйте прошивку BIOS для поддержки новых процессоров и исправления ошибок, связанных с памятью.

