Как включить swap-file на VPS
Многие облачные VPS поставляются без swap — это оптимизация под латенси, но при пике памяти OOM-killer убьёт ваш процесс. Swap-file добавляется за минуту и часто спасает.
Проверить, есть ли swap уже
swapon --show
free -hЕсли раздел Swap: показывает 0B — swap отсутствует.
Создать swap-file
Размер обычно = размер RAM (максимум 2×RAM). Для 4 GB VPS:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfileЕсли fallocate не сработал (некоторые ФС не поддерживают) — используйте dd:
dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progressПроверить, что swap активен
swapon --show
# должен показать /swapfile 4G
free -h
# Swap: 4Gi 0B 4GiПостоянное включение (после ребута)
Добавьте в /etc/fstab:
/swapfile none swap sw 0 0Проверьте, что не сломали fstab: mount -a — должен отработать без ошибок.
Настройка swappiness
По умолчанию vm.swappiness=60 — довольно агрессивно. Для серверов с БД снизьте до 10:
echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -pЭто значит: используй RAM максимально, в swap уходи только когда без него никак.
Когда swap не спасает
Swap работает медленно (даже на NVMe — в 100-1000× медленнее RAM). Он даёт буфер во время пика, а не постоянное решение. Если swap заполняется каждый день — пора апгрейдить RAM.
Удалить swap
swapoff /swapfile
rm /swapfile
# и удалите строку из /etc/fstab