swap — виртуальная память на диске, используемая ядром, когда физической RAM не хватает. Ядро находит редко используемые страницы (например, кэш инициализации сервиса) и записывает их в swap, освобождая RAM для активных процессов. Когда страница нужна — читается назад (page-in), с задержкой в 100-1000× медленнее RAM даже на NVMe.
Форматы: swap-partition (отдельный раздел, mkswap /dev/sda2) — классика; swap-file (обычный файл в ФС, `fallocate -l 4G /swapfile && mkswap`) — гибче, современный стандарт. В `/etc/fstab` строкой `/swapfile none swap sw 0 0` для persistence.
Размер: старое правило `swap = 2× RAM` устарело. Для VPS 2-8 ГБ — swap 1-2× RAM. Для сервера с 128+ ГБ — обычно 4-8 ГБ swap как безопасность на случай fork-bomb, не для регулярной работы.
vm.swappiness — от 0 до 200, дефолт 60. Насколько агрессивно ядро выгружает страницы. Для БД-серверов ставят 1-10 (используй RAM максимально), для контейнерных хостов иногда 100+ (агрессивно освобождай RAM под кэш). Меняется `sysctl vm.swappiness=10` + `/etc/sysctl.conf`.
Опасно: (1) swap на HDD у активной БД — БД поймает секунды stalls при page-in, приложение ляжет. (2) swap заполнился = OOM-killer всё равно сработает, только позже. Swap — буфер, не решение. (3) шифрованный корень + swap без шифрования — leak конфиденциальных данных в swap.