Как подключить SWAP для виртуального сервера: плюсы и минусы SWAP

Как подключить SWAP для виртуального сервера: плюсы и минусы SWAP

03.11.2022
Автор: HostZealot Team
2 мин.
1316

SWAP – важный механизм, обеспечивающий разумное управление памятью виртуального сервера путем перемещения части данных из оперативной памяти на твердотельный накопитель. Технология актуальна в тех случаях, когда система нуждается в таком количестве ОЗУ, которым сервер не располагает физически. Активация свопинга позволит поместить в специальный раздел накопителя те данные, которые используются реже всего.

Опытные пользователи Linux знают, что большое количество страниц, используемых программами на этапе запуска, нужны только при инициализации, и больше они не используются на протяжении всей рабочей сессии. SWAP позволяет выгрузить эти неиспользуемые страницы из ОЗУ и переместить их в пространство накопителя. Таким образом, swapping является важным инструментом по оптимизации серверных систем.

Плюсы SWAP

Основным преимуществом этой технологии является то, что она позволяет:

  1. Снизить расходы на содержание сервера. То есть вы можете взять более дешевый тарифный план виртуального частного сервера с недостаточным объемом ОЗУ, настроить SWAP, и таким образом стабилизировать работу сервера.
  2. Оптимизировать работу сервера за счет высвобождения страниц памяти.

На серверах без конкуренции или с малой конкуренцией за память польза от этой технологии будет небольшой – максимум, вы сможете перекинуть в своп анонимную память, которую приложения и службы используют редко. Это позволит повысить коэффициент попаданий в кэш и в целом высвободить драгоценную ОЗУ.

Также технология будет полезна на VPS, где бывают временные всплески в плане потребления RAM – устойчивость к такого рода ресурсным аномалиям будет выше.

Минусы SWAP

Главный минус – оперативная память всё равно быстрее. Даже если у вас на сервере супер современный NVMe-накопитель, ОЗУ будет работать с информацией быстрее. Поэтому злоупотреблять свопингом не стоит, нужно четко понимать, какие данные разумно помещать в эту память, а какие лучше оставить для ОЗУ.

Кроме того, SWAP может отстрочить вызов Out-Of-Memory Killer вашей операционной системой, а активация этого процесса бывает необходимой, когда нужно завершить приложение, угрожающее сбоем ядра. Такие ситуации редкость, особенно на современных версиях Linux, но они имеют место быть.

Как подключить swap для виртуального сервера: плюсы и минусы swap

Создание и подключение файла подкачки SWAP

Представим ситуацию, что у вас есть VPS с 2 гигабайтами оперативной памяти без раздела под swap. В этом случае нам необходимо сначала создать файл под swap:

sudo fallocate -l 2G /mnt/swapfile


Теперь у нас есть файл подкачки размером 2 ГБ. Если возникнут проблемы с fallocate, можно прибегнуть к проверенной временем команде dd:

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


Далее необходимо присвоить права чтения и записи для этого файла:

sudo chmod 600 /mnt/swapfile


И теперь, когда файл создан и права настроены под администратора, мы можем указать системе путь к файлу подкачки:

sudo mkswap /mnt/swapfile


Теперь Linux будет использовать данный файл, чтобы выгружать в него редко используемые страницы. Подключаем файл:

sudo swapon /mnt/swapfile


Остается открыть в режиме редактирования файл /etc/fstab и прописать туда строчку:

/mnt/swapfile  none  swap  sw  0 0


Если этого не сделать, файл подкачки будет активен только до следующей перезагрузки сервера, а потом его нужно будет снова активировать вручную.

Как проверить наличие свопа в системе?

Для этого существует простая команда:

swapon --show


При её активации вы увидите информацию о файле подкачки, его размер и количество задействованных мегабайт.

Какого размера создать SWAP

Суть в том, что оптимальный размер файла подкачки определяется индивидуально. Он зависит от таких факторов:

  • объем ОЗУ на VPS;
  • типы используемых приложений, а также их «прожорливость»;
  • используется ли на сервере режим сна.

Если у вас виртуальная машина с объемом RAM менее 2 ГБ, то оптимальным будет размер файла SWAP в полтора-два раза больше. На машинах с 3-4 ГБ в большинстве случаев хватает файла подкачки размером на 10-15% больше объема оперативки. Если же у вас VPS с 6 ГБ ОЗУ и более, то достаточно будет своп-файла на 1-2 ГБ.

Помните, что при избытке ОЗУ файл подкачки лучше вообще не активировать – если ваша система не использует на 100% имеющиеся ресурсы, то необходимости в свопинге попросту нет. Вы только навредите, ведь перенос страниц данных в SWAP-файл повлечет за собой замедление скорости обработки данных при обращении к этим страницам.

# Как сделать Поделиться:
Статьи по Теме