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

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

Настройка swap на VPS: файл подкачки правильно
Блог MAATRIX · 2026-07-07

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

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Зачем нужен swap

Когда оперативная память заканчивается, Linux начинает убивать процессы (OOM-kill) — падает база, приложение или сам nginx. Swap даёт ядру выгрузить неактивные страницы на диск и пережить пик.

Swap не заменяет RAM и медленнее её, но на NVMe у MAATRIX подкачка работает в разы быстрее, чем на обычных HDD — как аварийный буфер это вполне комфортно.

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

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

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

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

swapon --show
free -h

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

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

Размер обычно берут равным RAM (до 4 ГБ памяти) или половине при большем объёме. Создадим файл на 2 ГБ:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

Права 600 обязательны — иначе ядро откажется использовать файл из соображений безопасности. Проверяем:

swapon --show
free -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
echo '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-диском

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

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

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

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

Swap вредит SSD/NVMe?

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

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

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