Swap — место на диске, куда ядро выгружает редко используемые страницы памяти. Он не заменяет оперативную память: диск намного медленнее. Но небольшой swap страхует от внезапного OOM killer, когда сборка, обновление или пик нагрузки ненадолго съедают всю память.
Проверьте, есть ли swap
$ swapon --show$ free -hЕсли swapon --show ничего не вывел, а в строке Swap у free нули — подкачки нет.
Какой размер выбрать
| Память сервера | Разумный swap |
|---|---|
| 1–2 ГБ | равный объёму памяти |
| 4–8 ГБ | 2–4 ГБ |
| 16 ГБ и больше | 4 ГБ, если нагрузка не требует иного |
Это отправная точка, а не правило. Если сервер постоянно активно пишет в swap, нужно не увеличивать его, а добавлять память или разбираться, кто её расходует.
Создайте swap-файл
$ fallocate -l 2G /swapfile$ chmod 600 /swapfile$ mkswap /swapfile$ swapon /swapfileПодключайте swap при загрузке
$ echo '/swapfile none swap sw 0 0' >> /etc/fstabНастройте vm.swappiness
Параметр vm.swappiness задаёт, насколько охотно ядро уходит в подкачку; по умолчанию 60. Для сервера с базой данных или веб-приложением часто ставят 10: swap используется, только когда памяти действительно не хватает.
$ echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf$ sysctl --systemПроверьте результат
$ swapon --show$ cat /proc/sys/vm/swappinessКак убрать swap
$ swapoff /swapfile$ rm /swapfileИ удалите строку /swapfile из /etc/fstab.