Swap — это механизм подстраховки по памяти, который помогает системе переживать пиковые нагрузки, снижать вероятность OOM и деградации сервисов.
Проверка текущего состояния — посмотреть активные swap-устройства:
swapon --show
Если swap не настроен, вывод будет пустым.
Для общего обзора памяти:
free -h
Создание swap-файла — создаётся обычным файлом нужного размера. Быстрый вариант:
sudo fallocate -l 4G /swapfile
Если fallocate недоступен или swapon отказывается работать с таким файлом, используется более универсальный способ:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
На файловых системах с Copy-on-Write (например, btrfs) swap-файл требует отдельной настройки. (nocow, без compression и соблюдение требований FS), иначе swapon завершится ошибкой.
Права доступа:
sudo chmod 600 /swapfile
Swap-файл должен быть доступен только root, иначе система откажется его использовать.
Инициализация и активация:
sudo mkswap /swapfile
sudo swapon /swapfile
Swap начинает работать сразу, без перезагрузки. Проверка:
swapon --show
Автоподключение при загрузке — добавить в
/etc/fstab:/swapfile none swap defaults 0 0
Это стандартная и ожидаемая конфигурация.
Настройка swappiness — текущее значение:
cat /proc/sys/vm/swappiness
На серверах значение часто уменьшают до 10–20, чтобы swap использовался как страховка, а не как активная память, конкретное значение зависит от профиля нагрузки.
Временное изменение — через sysctl, постоянное — через файл в
/etc/sysctl.d/.Отключение swap:
sudo swapoff /swapfile
После этого файл можно удалить и убрать запись из
/etc/fstab, если он больше не нужен.🔥 Swap-файл — простой и безопасный способ повысить устойчивость системы без переразметки дисков и с заметным снижением риска OOM.
➡️ DevOps Ready | #практика