MAATRIX / Блог / Настройка swap на VPS: страхуем сервер от нехватки памяти

Настройка swap на VPS: страхуем сервер от нехватки памяти

Блог MAATRIX · 2026-07-07

На младших тарифах памяти немного, и при пике нагрузки ядро может убить процесс через OOM-killer. Swap — файл подкачки на диске — работает страховкой. Разберём, как создать его правильно и не убить производительность.

Зачем нужен swap

['Когда оперативная память заканчивается, Linux начинает убивать процессы (OOM-kill) — падает база, приложение или сам nginx. Swap даёт ядру выгрузить неактивные страницы на диск и пережить пик.', 'Swap не заменяет RAM и медленнее её, но на NVMe у MAATRIX подкачка работает в разы быстрее, чем на обычных HDD — как аварийный буфер это вполне комфортно.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS с NVMe-диском

Проверяем, есть ли swap

['
swapon --show\nfree -h
', 'Если swapon --show ничего не выводит — swap отсутствует, создаём. Строка Swap в free -h покажет 0B при его отсутствии.']

Создаём swap-файл

['Размер обычно берут равным RAM (до 4 ГБ памяти) или половине при большем объёме. Создадим файл на 2 ГБ:', '
fallocate -l 2G /swapfile\nchmod 600 /swapfile\nmkswap /swapfile\nswapon /swapfile
', 'Права 600 обязательны — иначе ядро откажется использовать файл из соображений безопасности. Проверяем:', '
swapon --show\nfree -h
']

Делаем постоянным

['После перезагрузки swap отключится, если не прописать его в fstab:', "
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
", 'Теперь swap подключится автоматически при старте системы. Проверить корректность fstab без перезагрузки: mount -a (ошибок быть не должно).']

Тонкая настройка swappiness

['Параметр swappiness (0-100) определяет, насколько охотно ядро уходит в swap. По умолчанию 60 — многовато для сервера. Ставим 10, чтобы подкачка включалась только при реальной нехватке:', "
sysctl vm.swappiness=10\necho 'vm.swappiness=10' | tee -a /etc/sysctl.conf
", '
  • Сервер тормозит и много swap — swappiness высокий или реально мало RAM, задумайтесь о тарифе побольше.
  • fallocate ошибается на некоторых ФС — используйте dd if=/dev/zero of=/swapfile bs=1M count=2048.
  • Убрать swap: swapoff /swapfile, удалить строку из fstab, rm /swapfile.
']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS с NVMe-диском

Частые вопросы

Какого размера делать swap?

Практичное правило: равен RAM при памяти до 4 ГБ, половина RAM при большем объёме. Для аварийного буфера хватает 2 ГБ.

Swap вредит SSD/NVMe?

Современные NVMe рассчитаны на огромный ресурс записи, а при swappiness=10 подкачка используется редко. На практике износ ничтожен.

Swap заменит апгрейд памяти?

Нет. Swap — страховка от редких пиков, а не замена RAM. Если сервер постоянно в подкачке — пора на тариф с большим объёмом памяти у MAATRIX.