Перейти к основному содержанию
Swap (подкачка) — это файл на диске, который система использует как «запасную» память, когда заканчивается RAM. Без swap процесс, которому не хватило памяти, убивает OOM-killer — сервис падает. Со swap ядро вытесняет неактивные страницы на диск, и процесс продолжает работать.
Swap — не замена оперативной памяти. Диск в десятки раз медленнее RAM. Swap спасает от внезапных падений и сглаживает пики, но если сервер постоянно «сидит» в подкачке — это сигнал, что памяти реально мало.

Проверить текущее состояние

Сначала посмотри, есть ли уже swap и сколько свободной памяти:
free -h
swapon --show
free -h покажет строки Mem (RAM) и Swap. Если swapon --show ничего не выводит — подкачки нет.

Создать swap-файл

Подключайся к серверу по SSH под root (IP и пароль — в карточке сервера в боте) и выполняй команды по шагам.
1

Создать файл нужного размера

Быстрый способ — fallocate:
fallocate -l 2G /swapfile
Если fallocate недоступен или файловая система его не поддерживает, используй dd:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
count=2048 при bs=1M даёт ровно 2 ГБ.
2

Закрыть доступ для посторонних

Swap-файл должен быть доступен только root, иначе система откажется его подключать:
chmod 600 /swapfile
3

Разметить как swap

mkswap /swapfile
4

Включить

swapon /swapfile
Проверь, что подкачка появилась:
swapon --show
free -h
5

Включить автозагрузку

Чтобы swap подключался после перезагрузки, добавь строку в /etc/fstab:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
Проверь, что строка добавилась один раз: grep swapfile /etc/fstab — дубли в fstab приводят к ошибкам при загрузке.

Сколько выделять

Жёсткого правила нет, ориентир такой:
RAM сервераРекомендуемый swap
1–2 ГБравен объёму RAM (1–2 ГБ)
4–8 ГБ2–4 ГБ
16 ГБ и больше2–4 ГБ достаточно
Логика: на младших тарифах (VPS-0, VPS-1 с 1–2 ГБ RAM) swap реально выручает; на старших он скорее «страховка» от редких пиков, гнаться за объёмом смысла нет.

Настроить swappiness

vm.swappiness (0–100) определяет, насколько охотно ядро уходит в подкачку. По умолчанию обычно 60. Для сервера разумно снизить до 10 — тогда swap используется только при реальной нехватке памяти, а не «на всякий случай». Текущее значение:
cat /proc/sys/vm/swappiness
Применить сразу (до перезагрузки):
sysctl vm.swappiness=10
Закрепить навсегда — добавить в /etc/sysctl.conf:
echo 'vm.swappiness=10' >> /etc/sysctl.conf
Диски у Lumi на NVMe, поэтому swap здесь заметно быстрее, чем на обычных HDD/SATA-SSD. Но даже быстрый NVMe всё равно медленнее RAM. Если ты постоянно упираешься в память и swap «горит» — это не повод раздувать файл, а повод апгрейдить тариф через поддержку.

Куда дальше

Запустить LLM на сервере

Ollama и локальные языковые модели на VPS.

VPS не работает

Проблемы с подключением, нагрузка, другие частые ситуации.