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

watch 22s
views 2

14:33, 03.11.2022

Содержание статьи
arrow

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
Copy


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

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


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

sudo chmod 600 /mnt/swapfile
Copy


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

sudo mkswap /mnt/swapfile
Copy


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

sudo swapon /mnt/swapfile
Copy


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

/mnt/swapfile  none  swap  sw  0 0
Copy


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

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

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

swapon --show
Copy


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

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

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

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

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

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

Поделиться

Была ли эта статья полезной для вас?

like Да
dislike Нет

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.