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

watch 22s
views 2

14:33, 03.11.2022

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

  • Плюсы SWAP
  • Минусы SWAP
  • Создание и подключение файла подкачки SWAP
  • Как проверить наличие свопа в системе?
  • Какого размера создать SWAP

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-файл повлечет за собой замедление скорости обработки данных при обращении к этим страницам.

Поделиться

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

1 пользователи считают эту статью полезной

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

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

$ 46.37

$

При оплате за год

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 8192 Linux

$ 42.08

$

При оплате за год

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 2048 HK Windows

$ 30.14

$

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 2048 Linux

$ 35.13

$

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

$ 7.29

$

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 2048 Linux

$ 9.62

$

При оплате за год

-7.9%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 8192 Windows

$ 30.19

$

При оплате за год

-10%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 32768 Linux

$ 112.22

$

При оплате за год

-24.7%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
4 TB
KVM-SSD 4096 Metered Linux

$ 35.94

$

При оплате за год

-10%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 32768 Linux

$ 108.39

$

При оплате за год

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

cookie

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

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