Для большинства задач разработки в 2026 году 32 ГБ DDR5 являются практическим минимумом, 64 ГБ становятся комфортной нормой, как только в работе появляются контейнеры, локальный кластер Kubernetes или виртуальная машина, а 96–128 ГБ и больше нужны для нескольких VM, больших наборов данных или локальных LLM с выгрузкой слоев на CPU. Покупайте этот объем двумя одинаковыми модулями, а не четырьмя, и запускайте память на официальной частоте процессора или на профиле, который вы действительно проверили. Сравнивайте комплекты по задержке в наносекундах, а не по числу CAS, и выбирайте настоящую ECC только на платформе, которая поддерживает ее и сообщает об ошибках от начала до конца.
Считайте объем по нагрузке
Давление на память создают программы, которые работают одновременно, поэтому складывайте пересекающиеся пики, а не средние значения.
Редакторы, браузеры и языковые серверы
Сама IDE редко становится проблемой. Память съедают языковые серверы и индексаторы для каждого открытого проекта, а также браузер с документацией и приложениями, которые вы разрабатываете. Для такой нагрузки 32 ГБ оставляют место для сборок и файлового кэша, который ускоряет повторные сборки.
Контейнеры и Kubernetes в Docker
В macOS и Windows контейнеры работают внутри Linux-VM с жестким потолком. Docker Desktop в macOS по умолчанию ограничивает память 50% памяти хоста, а в Windows бэкенд WSL 2 наследует параметр memory из WSL, который тоже по умолчанию равен 50% памяти Windows (настройка WSL). На ноутбуке с 32 ГБ это оставляет около 16 ГБ на все контейнеры, узлы kind и сборки. Параллельные агенты для кода умножают нагрузку, потому что в каждом worktree может запуститься свой dev-сервер, тестовая база и сборка, как описано в руководстве по агентной разработке.
Базы данных и виртуальные машины
Документация PostgreSQL советует начинать с 25% RAM для shared_buffers на выделенном сервере, но рабочая станция таким сервером не является. Размер буферов базы подбирайте под рабочий набор данных, к которому вы действительно обращаетесь. С виртуальными машинами проще: если гипервизор не использует ballooning или динамическую память, запущенная гостевая система удерживает большую часть выделенной ей RAM. Минимум Microsoft для Windows 11 составляет 4 ГБ, а гостю с IDE внутри нужно намного больше. Две или три одновременно запущенные VM часто становятся причиной, по которой 64 ГБ перестает хватать.
Локальные LLM с выгрузкой на CPU
Веса занимают примерно parameters × bits per weight / 8 байт, поэтому модели на 70B параметров при квантовании около 4,5 бита на вес нужно около 39 ГБ еще до KV-кэша и накладных расходов среды выполнения. Слои, которые не помещаются в GPU, лежат в системной памяти и читаются для каждого сгенерированного токена. Объем определяет, загрузится ли модель вообще, а пропускная способность ограничивает скорость генерации. Выбор GPU и квантования разобран в руководстве по железу для локальных LLM.
Измерьте свой пик до покупки
Важна пиковая нагрузка самого тяжелого обычного рабочего дня. В Linux записывайте доступную память и давление на нее каждые 30 секунд, пока работаете:
#!/usr/bin/env bash
# Log memory headroom and pressure every 30 seconds (stop with Ctrl+C)
while true; do
{
printf '%s ' "$(date -Is)"
awk '/^(MemTotal|MemAvailable|SwapTotal|SwapFree):/ {printf "%s %d ", $1, $2/1024}' /proc/meminfo
awk '/^some/ {print "psi_some_" $2}' /proc/pressure/memory
} >> "$HOME/mem-headroom.log"
sleep 30
done
Затем вычислите пик как общий объем минус минимальное значение MemAvailable. Поскольку MemAvailable считает освобождаемый кэш свободной памятью, результат показывает, сколько действительно понадобилось приложениям:
awk '{t=$3; a=$5; if (min == "" || a < min) min = a}
END {printf "peak used: %d MiB of %d MiB\n", t - min, t}' "$HOME/mem-headroom.log"
Давление важно не меньше пика. some avg10 показывает усредненную за 10 секунд долю времени, в течение которой хотя бы одна задача ждала память. Устойчиво ненулевые значения, растущий swap или срабатывания OOM killer в journalctl -k означают, что памяти уже не хватает. Swap на быстром накопителе смягчает проблему, но не заменяет RAM, а о выборе накопителя рассказывает руководство по покупке NVMe SSD.
Одну тяжелую команду, например полную сборку, запустите в отдельной cgroup и прочитайте memory.peak, то есть максимальное потребление, записанное для cgroup и ее потомков, включая page cache:
cat > peak-mem.sh <<'EOF'
#!/usr/bin/env bash
# Run a command and report the peak memory of its cgroup
"$@"
status=$?
cg="/sys/fs/cgroup$(cut -d: -f3 /proc/self/cgroup)"
echo "memory.peak: $(( $(cat "$cg/memory.peak") / 1048576 )) MiB" >&2
exit "$status"
EOF
chmod +x peak-mem.sh
systemd-run --user --scope --quiet ./peak-mem.sh make -j"$(nproc)"
Для контейнеров и узлов kind используйте docker stats --no-stream, в macOS смотрите график нагрузки на память в Мониторинге системы, а в Windows следите за выделенной памятью в Диспетчере задач. Добавьте запас и округлите вверх до объема, который дают два модуля.
Каналы и почему два модуля обычно лучше четырех
Массовые настольные платформы, например AMD Ryzen 9000 на AM5 и Intel Core Ultra 200S, имеют два канала DDR5. Каждый модуль DDR5 состоит из двух полностью независимых подканалов по 32 бита данных, поэтому двухканальный компьютер передает 128 бит данных за одну передачу. Отсюда пиковая теоретическая пропускная способность:
bandwidth (GB/s) = channels × 8 bytes × data rate (MT/s) / 1000
2 × 8 × 5600 / 1000 = 89.6 GB/s dual-channel DDR5-5600
2 × 8 × 6400 / 1000 = 102.4 GB/s dual-channel DDR5-6400
Четыре модуля на тех же двух каналах добавляют объем, но не пропускную способность.
Один модуль на канал против двух
Полностью заполненная плата с четырьмя слотами работает в режиме двух модулей на канал, и каждый дополнительный модуль нагружает те же сигнальные линии. В спецификации AMD для Ryzen 9 9950X указаны DDR5-5600 для двух модулей и DDR5-3600 для четырех, как одноранговых, так и двухранговых (характеристики AMD Ryzen 9 9950X). В брошюре Intel сказано, что максимальные частоты относятся к одному модулю на канал, а дополнительная нагрузка может их снизить (описание Intel Core Ultra desktop Series 2).
Сначала выберите общий объем, затем купите его двумя модулями: 2 × 32 ГБ для 64 ГБ, 2 × 48 ГБ для 96 ГБ, 2 × 64 ГБ для 128 ГБ. Занимайте четыре слота, только если двум модулям не вместить нужный объем, и смиритесь с более низкой частотой и долгой тренировкой памяти. Докупка второго комплекта позже часто приводит к нестабильности, потому что эти комплекты никто не проверял вместе.
Частота, CAS-латентность и реальная задержка
В обозначении DDR5-6000 CL30 скорость передачи указана в мегатрансферах в секунду, а CAS-латентность считается в тактах. DDR передает данные дважды за такт, поэтому задержка первого слова в наносекундах равна:
true latency (ns) = CL × 2000 / data rate (MT/s)
DDR5-4800 CL40: 40 × 2000 / 4800 = 16.7 ns
DDR5-5600 CL46: 46 × 2000 / 5600 = 16.4 ns
DDR5-6000 CL30: 30 × 2000 / 6000 = 10.0 ns
DDR5-6400 CL32: 32 × 2000 / 6400 = 10.0 ns
Более высокий CL у более быстрого комплекта не делает его автоматически хуже. CAS является лишь одним из таймингов, поэтому используйте формулу для сравнения комплектов, а не для предсказания того, что увидит программа.
Для разработки порядок приоритетов такой: объем, затем стабильность, затем пропускная способность, затем задержка, потому что машина, ушедшая в swap, теряет больше, чем может вернуть любой тайминг. Исключение составляет инференс на CPU: для выгруженных слоев число токенов в секунду не может превысить пропускную способность, деленную на объем весов, читаемых на один токен. При 30 ГБ плотных весов в RAM и 89,6 ГБ/с потолок составляет около 3 токенов в секунду. Модели mixture-of-experts читают только активных экспертов, что снижает эту цену, но не требуемый объем.
XMP и EXPO: заявленная частота является разгоном
Розничный комплект хранит стандартные тайминги JEDEC, которые плата использует по умолчанию, и профили производителя. Intel XMP 3.0 поддерживает до пяти профилей: три от производителя и два перезаписываемых, а AMD EXPO дает профили, настроенные под Ryzen на AM5. Оба вендора называют это разгоном. Intel предупреждает, что использование XMP сверх спецификаций может лишить процессор гарантии (Intel XMP), а AMD указывает, что работа памяти вне опубликованных AMD спецификаций аннулирует гарантию AMD (AMD EXPO).
Производитель комплекта проверил профиль на определенных платах, а контроллер памяти вашего процессора является отдельным экземпляром. Для рабочей машины порядок такой:
- Сначала обновите прошивку платы, потому что код тренировки памяти меняется от версии к версии.
- Включите профиль и дождитесь окончания первой загрузки. Тренировка DDR5 после смены памяти может идти намного дольше обычного старта.
- Выполните описанные ниже тесты стабильности, прежде чем доверять машине реальную работу.
- При ошибках снизьте частоту на ступень или вернитесь к умолчаниям JEDEC, а не поднимайте напряжения наугад.
Работа на официальной частоте процессора является нормальным выбором для машины, которая должна быть скорее правильной, чем быстрой.
CUDIMM и драйвер тактового сигнала
CUDIMM является небуферизованным модулем с драйвером тактового сигнала (CKD) на плате модуля. Стандарт JEDEC DDR5CKD01 описывает драйвер, который заново формирует тактовый сигнал для модулей CUDIMM, CSODIMM и CAMM (драйвер тактового сигнала JEDEC DDR5), что улучшает качество сигнала на высоких частотах.
Будет ли от этого польза, решает поддержка платформы. В брошюре Intel для Core Ultra 200S указана DDR5-6400 для одного CUDIMM на канал, а мартовский анонс Core Ultra 200S Plus 2026 года поднимает это значение до DDR5-7200 и добавляет раннюю поддержку четырехранговых CUDIMM объемом до 128 ГБ на отдельных платах с чипсетами Intel 800-й серии. На других платформах сначала проверьте спецификацию процессора и список совместимой памяти платы. CUDIMM не является регистровым модулем и не имеет внешней (side-band) ECC, если в описании прямо не сказано иное.
On-die ECC не делает память ECC
Каждая микросхема DDR5 имеет on-die ECC, и JEDEC перечисляет ее среди функций, которые позволяют выпускать память по современным техпроцессам (стандарт JEDEC DDR5). Она исправляет ошибки только внутри массива DRAM. Она не защищает модуль, разъем и шину, а ее исправления не сообщаются операционной системе. Надпись on-die ECC у обычного UDIMM описывает сам стандарт DDR5, а не ECC-модуль.
Side-band ECC добавляет микросхемы DRAM, которые хранят контрольные биты для каждого подканала. Контроллер памяти проверяет каждое обращение, исправляет то, что позволяет код, обнаруживает более серьезные ошибки и сообщает о тех и других операционной системе. Именно эта отчетность и дает главную пользу: растущий счетчик исправленных ошибок на одном модуле служит ранним предупреждением, а машина без ECC просто время от времени падает или портит данные.
UDIMM, RDIMM и ключ разъема
ECC UDIMM являются небуферизованными и подходят для потребительских плат и младших рабочих станций, если платформа поддерживает ECC. RDIMM добавляют регистровый драйвер тактового сигнала и предназначены для серверов и старших рабочих станций. У DDR5 UDIMM и RDIMM разные ключи, поэтому они не взаимозаменяемы и не смешиваются.
Какие платформы поддерживают настоящую ECC
ECC работает только тогда, когда ее поддерживают процессор, чипсет, прошивка и модули. На сентябрь 2026 года картина такая:
- AMD Ryzen 9000 на AM5: AMD указывает поддержку ECC как «Yes (Requires mobo support)» для моделей вроде 9950X. Проверьте поддержку ECC UDIMM в руководстве платы и точную модель процессора, потому что настольные семейства AMD различаются.
- AMD EPYC 4005 на AM5: серверные процессоры для того же сокета с поддержкой DDR5 ECC до 192 ГБ.
- AMD Ryzen Threadripper PRO 9000 WX-Series: до восьми каналов DDR5 RDIMM с ECC, включенной по умолчанию.
- Intel Core Ultra 200S: ECC требует поддержки и со стороны процессора, и со стороны чипсета (статья Intel о поддержке ECC). Intel указывает поддержку ECC для W880 и ее отсутствие для Z890.
- Процессоры Intel Xeon 600 для рабочих станций на W890: регистровая DDR5 с ECC.
После первой загрузки с ECC-модулями проверьте, что ECC действительно работает, а не предполагайте это.
Ноутбуки: распаянная LPDDR5X и CAMM2
Большинство тонких ноутбуков используют LPDDR5X, распаянную на плате или размещенную на корпусе процессора. Она быстрая и экономичная, но объем фиксируется при покупке, а некоторые платформы ограничивают его невысоким значением: для Intel Core Ultra 7 258V максимум составляет 32 ГБ. Покупайте сразу тот объем, до которого иначе стали бы расширяться позже.
На другом конце спектра находятся широкие решения. AMD Ryzen AI Max+ PRO 395 использует 256-битный интерфейс LPDDR5X-8000 и до 128 ГБ памяти, что дает 32 байта × 8000 MT/s = 256 ГБ/с теоретической пропускной способности, в два с половиной раза больше двухканального настольного компьютера с DDR5-6400. Поэтому такие машины интересны для локальных моделей, но модернизировать в них ничего нельзя.
CAMM2 является заменяемой альтернативой. Стандарт JEDEC JESD318, опубликованный в декабре 2023 года, описывает модули Compression Attached Memory Module для DDR5 и LPDDR5/5X с общей конструкцией разъема. Доступность зависит от конкретной модели ноутбука, поэтому ищите CAMM2 или LPCAMM2 в спецификации производителя. Ноутбуки со слотами SO-DIMM остаются самым простым вариантом для расширения.
Проверка стабильности в memtest86+ и чтение ошибок в Linux
Проверяйте каждый новый комплект, каждую смену профиля и каждое обновление прошивки, которое меняет тренировку памяти. Memtest86+ является бесплатным автономным тестером с открытым исходным кодом. Текущий выпуск v8.10 вышел в мае 2026 года, и один бинарный файл загружается как в UEFI, так и в legacy BIOS (memtest86+). Бинарный файл не подписан Microsoft, поэтому на время теста отключите Secure Boot, а затем включите его снова. Один полный проход проверяет всю память, а более долгий прогон повышает уверенность. Если разогнанная система выдает ошибки, повторите тест на настройках по умолчанию, а затем проверяйте модули по одному. Это отдельный проект, не связанный с PassMark MemTest86.
Сделайте один проход на умолчаниях JEDEC, когда машина новая, несколько проходов после включения профиля, а затем нагрузочный тест внутри ОС:
sudo apt install stressapptest
# Test 75% of RAM for one hour with CPU-intensive copy threads
stressapptest -s 3600 -M "$(awk '/MemTotal/ {printf "%d", $2*0.75/1024}' /proc/meminfo)" -W
При наличии ECC Linux сообщает об исправленных и неисправленных ошибках через счетчики EDAC в sysfs (документация ядра по EDAC):
ls /sys/devices/system/edac/mc/
sudo dmesg | grep -i -E 'edac|ecc'
grep -H . /sys/devices/system/edac/mc/mc*/ce_count /sys/devices/system/edac/mc/mc*/ue_count
sudo apt install rasdaemon
sudo ras-mc-ctl --status
sudo ras-mc-ctl --error-count
Пустой каталог /sys/devices/system/edac/mc/ означает, что для этого контроллера нет драйвера EDAC или ECC выключена, что бы ни было написано на модуле, а dmidecode -t memory показывает только то, что заявляет прошивка. Любую неисправленную ошибку считайте аппаратным инцидентом, а растущий счетчик исправленных ошибок на одном модуле считайте поводом его заменить. В новых версиях rasdaemon эти опции перенесены в подкоманды, поэтому сверьтесь с ras-mc-ctl --help.
Рекомендуемые конфигурации по сценариям
Это отправные точки, и измеренный вами пик важнее их.
| Сценарий | Объем | Конфигурация | Примечание |
|---|---|---|---|
| IDE, браузер, несколько контейнеров | 32 ГБ | 2 × 16 ГБ | Для расширения придется заменить оба модуля |
| Контейнеры, Kubernetes в Docker, параллельные агенты | 64 ГБ | 2 × 32 ГБ | Поднимите лимиты Docker Desktop или WSL |
| Несколько VM, большие базы, сборка монорепозитория | 96–128 ГБ | 2 × 48 ГБ или 2 × 64 ГБ | Оставайтесь на одном модуле на канал |
| Локальные LLM с выгрузкой на CPU | 128 ГБ и больше | 2 × 64 ГБ или более широкая платформа | Скорость выгруженных слоев ограничена пропускной способностью |
| Тихая порча данных обходится дорого | 64 ГБ и больше, ECC | ECC UDIMM на AM5 или W880, RDIMM на Threadripper PRO или Xeon | Проверьте счетчики EDAC |
| Ноутбук | 32 ГБ, 64 ГБ для VM | LPDDR5X, SO-DIMM или LPCAMM2 | Если память распаяна, берите итоговый объем сразу |
Больше 128 ГБ на двухканальном настольном компьютере означает четыре модуля на пониженной официальной частоте, чего Threadripper или Xeon позволяют избежать.
Практический чек-лист перед заказом
- Записывайте потребление памяти и давление в течение типичной недели и добавьте запас.
- Покупайте весь объем одним комплектом из двух одинаковых модулей.
- Проверьте таблицу памяти процессора и список совместимой памяти платы для точного типа: UDIMM, CUDIMM, ECC UDIMM или RDIMM.
- Сравнивайте комплекты по реальной задержке в наносекундах и по частоте.
- Обновите прошивку, включайте XMP или EXPO, только если будете это тестировать, и дождитесь окончания тренировки.
- Запустите memtest86+ на умолчаниях и с профилем, затем нагрузочный тест в ОС.
- Для ECC сначала подтвердите поддержку платформы, затем проверьте счетчики EDAC в Linux.
- В ноутбуке с распаянной памятью берите тот объем, который понадобится к концу срока службы.
- Через несколько месяцев снова проверьте давление на память, особенно после добавления VM, кластеров или локальных моделей.