August 08, 2026 · by CLIQHOST
Каждый системный администратор хотя бы раз сталкивался с пугающим сообщением Out of Memory (OOM). Процессы падают, приложения зависают, сервер становится недоступным. Быстрое и эффективное решение в таких ситуациях — настройка swap-файла.
В этом руководстве вы узнаете, что такое swap, когда и зачем он нужен, и как пошагово настроить его на VPS SSD или VPS NVMe под управлением Ubuntu или Debian.
Swap — это область хранилища (раздел диска или файл), которую операционная система использует как расширение оперативной памяти. Когда физическая RAM полностью занята, ядро Linux перемещает наименее используемые страницы памяти на диск, освобождая место для активных процессов.
Основные преимущества:
- Предотвращает сбои из-за нехватки RAM
- Позволяет запускать ресурсоёмкие приложения на VPS с минимальными ресурсами
- Даёт время для диагностики и масштабирования
Недостатки, которые стоит учитывать:
- Диск (даже SSD/NVMe) медленнее оперативной памяти
- Чрезмерное использование swap снижает производительность
- Swap не является заменой недостаточного объёма RAM
Правило: Swap — это страховочная сетка, а не долгосрочное решение. Если сервер постоянно использует swap, пора перейти на тарифный план с большим объёмом памяти.
Прежде чем что-либо настраивать, проверьте состояние памяти и swap:
free -h
Пример вывода:
total used free shared buff/cache available
Mem: 1.9Gi 800Mi 300Mi 20Mi 850Mi 1.0Gi
Swap: 0B 0B 0B
Если строка Swap показывает 0B, значит swap не настроен. Также можно выполнить:
swapon --show
Если команда не возвращает ничего — продолжайте следующие шаги.
Общие рекомендации для современных систем:
| Объём RAM | Рекомендуемый swap |
|---|---|
| < 2 ГБ | 2× RAM (например, 4 ГБ) |
| 2–8 ГБ | Равен RAM (4–8 ГБ) |
| 8–64 ГБ | Минимум 4 ГБ, максимум 8 ГБ |
| > 64 ГБ | Swap необязателен, ситуативно |
Для VPS NVMe с 2 ГБ RAM оптимальный размер swap — 2–4 ГБ.
Используйте fallocate для быстрого выделения пространства (или dd, если fallocate недоступен):
sudo fallocate -l 2G /swapfile
Или с помощью dd:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
Проверьте, что файл создан:
ls -lh /swapfile
Swap-файл должен быть доступен только для root, иначе Linux откажется его активировать:
sudo chmod 600 /swapfile
Проверка:
ls -lh /swapfile
# -rw------- 1 root root 2.0G ...
sudo mkswap /swapfile
Ожидаемый вывод:
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
sudo swapon /swapfile
Подтвердите активацию:
swapon --show
free -h
Строка Swap должна показывать настроенный объём.
Вышеуказанная активация временная. После перезагрузки swap исчезнет. Чтобы сохранить его, добавьте запись в /etc/fstab:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Проверьте, что запись добавлена:
cat /etc/fstab | grep swap
Теперь при каждой перезагрузке вашего Linux VPS swap будет активироваться автоматически.
Swappiness определяет, насколько агрессивно ядро Linux использует swap вместо RAM. Значение по умолчанию — 60, диапазон от 0 до 100.
Для веб-сервера на VPS SSD рекомендуем значение 10:
sudo sysctl vm.swappiness=10
Чтобы сохранить после перезагрузки:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Параметр vfs_cache_pressure управляет тем, насколько быстро ядро освобождает кэш inode и dentry:
sudo sysctl vm.vfs_cache_pressure=50
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
Значение по умолчанию — 100. Снижение до 50 сохраняет больше кэша в памяти, что полезно для нагруженных веб-серверов.
Регулярный мониторинг поможет понять поведение сервера:
# Общее использование памяти и swap
free -h
# Процессы по потреблению RAM
ps aux --sort=-%mem | head -10
# Статистика swap
vmstat -s | grep -i swap
# Непрерывный мониторинг (обновление каждые 2 секунды)
watch -n 2 'free -h && swapon --show'
Если swap постоянно загружен более чем на 50%, это сигнал: пора увеличить объём RAM. Ознакомьтесь с доступными тарифами VPS NVMe для быстрого обновления.
Если вы увеличили RAM или swap больше не нужен:
# Деактивировать swap
sudo swapoff /swapfile
# Удалить запись из /etc/fstab (отредактируйте вручную)
sudo nano /etc/fstab
# Удалить файл
sudo rm /swapfile
На VPS с SSD или NVMe-хранилищем (как в тарифах VPS SSD и VPS NVMe от CLIQHOST) swap работает значительно быстрее, чем на обычном HDD. Низкая латентность SSD делает пагинацию памяти гораздо менее болезненной для приложений.
Однако ресурс записи SSD ограничен. Поэтому:
- Держите swappiness низким (10–20)
- Используйте swap как страховку, а не как основную RAM
- Мониторьте износ SSD командой smartctl
sudo chmod 600 /swapfile
Некоторые файловые системы (например, Btrfs) не поддерживают fallocate для swap. Используйте dd:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
Проверьте синтаксис /etc/fstab:
sudo mount -a
# При ошибке — исправьте строку в fstab
Настройка swap-файла на Linux VPS — одна из самых простых и эффективных мер для повышения стабильности сервера. Несколько команд — и ваши приложения защищены от сбоев, вызванных нехваткой памяти.
Если swap постоянно задействован в продакшн-среде, команда CLIQHOST готова помочь с консультацией и миграцией на более мощный тариф. Ознакомьтесь с нашими предложениями VPS SSD и VPS NVMe — высокая производительность и надёжность для любых задач.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."