Как настроить Swap на VPS или выделенном сервере Печать

  • Swap, виртуальная память, нехватка памяти, virtual memory, не хватает памяти, not enough memory, RAM, ОЗУ
  • 0

Swap — это дополнительная область на диске, которую Linux использует в качестве виртуальной памяти, когда заканчивается свободная оперативная память (RAM).

Многие пользователи узнают о Swap только после того, как сайт начинает работать медленно, появляются ошибки нехватки памяти или сервер неожиданно завершает процессы из-за высокой нагрузки.

В этой статье разберёмся, зачем нужен Swap, когда его стоит использовать и как правильно настроить его на сервере с Ubuntu или Debian.

Что такое Swap

Оперативная память работает значительно быстрее любого SSD или HDD.

Когда свободной RAM становится недостаточно, Linux может временно переносить часть данных в специальный файл или раздел Swap.

Это позволяет системе продолжать работу даже при нехватке памяти.

Важно понимать, что Swap не делает сервер быстрее и не заменяет оперативную память. Его основная задача — предотвратить аварийное завершение процессов при пиковых нагрузках.

Когда нужен Swap

Настройка Swap особенно рекомендуется для:

  • VPS с небольшим объёмом RAM;
  • серверов с 1–4 ГБ оперативной памяти;
  • сайтов на WordPress;
  • серверов с базами данных;
  • серверов с панелями управления;
  • проектов с периодическими скачками нагрузки.

Если на сервере установлено 32–64 ГБ памяти и её использование остаётся низким, необходимость в Swap может быть минимальной.

Проверка наличия Swap

Перед настройкой стоит проверить, используется ли Swap уже сейчас.

Выполните команду:

swapon --show

Если команда не выводит никаких данных, значит Swap отсутствует.

Дополнительно можно проверить использование памяти:

free -h

Пример результата:

               total        used        free
Mem:           2.0G        1.1G        900M
Swap:            0B          0B          0B

Если значение Swap равно нулю, виртуальная память не настроена.

Выбор размера Swap

Универсального правила не существует, но обычно используют следующие значения:

RAM Рекомендуемый Swap
1 ГБ 1–2 ГБ
2 ГБ 2 ГБ
4 ГБ 2–4 ГБ
8 ГБ 4 ГБ
16 ГБ и более 2–4 ГБ

Для большинства VPS оптимальным вариантом считается Swap размером 2–4 ГБ.

Создание файла Swap

В данном примере создадим Swap размером 2 ГБ.

Создайте файл:

fallocate -l 2G /swapfile

Если команда fallocate недоступна, используйте:

dd if=/dev/zero of=/swapfile bs=1M count=2048

Проверьте размер файла:

ls -lh /swapfile

Настройка прав доступа

Для безопасности ограничьте доступ к файлу:

chmod 600 /swapfile

Проверить права можно командой:

ls -lh /swapfile

Владелец должен иметь полный доступ, а остальные пользователи — не иметь доступа вовсе.

Создание области Swap

Подготовьте файл:

mkswap /swapfile

Пример успешного результата:

Setting up swapspace version 1

Активация Swap

Включите созданный Swap:

swapon /swapfile

Проверьте результат:

swapon --show

Также можно выполнить:

free -h

Теперь в строке Swap появится выделенный объём памяти.

Автоматическое подключение после перезагрузки

Чтобы Swap подключался автоматически после перезагрузки сервера, откройте файл:

nano /etc/fstab

Добавьте в конец файла строку:

/swapfile none swap sw 0 0

Сохраните изменения.

Проверить конфигурацию можно командой:

mount -a

Если ошибок нет, настройка выполнена правильно.

Настройка параметра swappiness

Linux использует параметр swappiness для определения того, насколько активно система должна использовать Swap.

Проверить текущее значение:

cat /proc/sys/vm/swappiness

Обычно используется значение:

60

Для VPS и веб-серверов чаще рекомендуется значение:

10

или

20

Временно изменить параметр:

sysctl vm.swappiness=10

Чтобы настройка сохранялась после перезагрузки, откройте:

nano /etc/sysctl.conf

Добавьте строку:

vm.swappiness=10

Примените настройки:

sysctl -p

Проверка работы Swap

Проверить использование памяти:

free -h

Проверить активный Swap:

swapon --show

Получить подробную информацию:

cat /proc/swaps

Как отключить Swap

Если необходимо временно отключить Swap:

swapoff /swapfile

Проверить результат:

swapon --show

Как удалить Swap

Отключите Swap:

swapoff /swapfile

Удалите строку из:

/etc/fstab

После этого удалите файл:

rm /swapfile

Частые ошибки

Команда swapon выдаёт ошибку

Проверьте права доступа:

chmod 600 /swapfile

И повторно выполните:

mkswap /swapfile
swapon /swapfile

Недостаточно места на диске

Проверьте свободное пространство:

df -h

Перед созданием Swap убедитесь, что на диске достаточно места.

Сервер остаётся медленным

Swap помогает избежать нехватки памяти, но не заменяет RAM.

Если сервер постоянно использует Swap, возможно, стоит увеличить объём оперативной памяти или оптимизировать приложения.

Рекомендации

Для большинства VPS с 1–4 ГБ RAM рекомендуется:

  • создать Swap размером 2–4 ГБ;
  • установить значение swappiness 10–20;
  • регулярно контролировать использование памяти;
  • не использовать Swap как замену оперативной памяти.

Правильно настроенный Swap помогает серверу стабильнее переживать пики нагрузки и снижает вероятность аварийного завершения процессов из-за нехватки памяти.


Помог ли вам данный ответ?

« Назад