Своп-раздел готовится заранее, при разметке диска. Забыли — на живой системе без LVM его так просто не добавить. swapfile проще: обычный файл на смонтированной ФС, без переразметки, без остановки сервисов.

# файл на 4G (fallocate быстрее dd, но не работает на всех ФС — тогда dd if=/dev/zero)
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# постоянно — строка в /etc/fstab
echo '/swapfile none swap sw 0 0' >> /etc/fstab

# swappiness пониже для сервера с достаточным объёмом RAM — не уходить в своп раньше времени
sysctl vm.swappiness=10

chmod 600 до mkswap — иначе любой локальный юзер прочитает файл свопа, а там может быть что угодно из памяти, вплоть до кусков секретов. На btrfs так не сработает: нужен chattr +C, отключение CoW, или отдельный раздел.

#linux #sysadmin