Для більшості задач розробки у 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, кластерів або локальних моделей.