Создание Swap файла подкачки на VPS с CentOS Linux

#1 2021.11.19 07:26:45

0

Что такое Swap?

 LOGIN писал(а) 

Swap — один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из оперативной памяти на жёсткий диск, освобождая оперативную память для загрузки других активных фрагментов памяти.

Swap бывает как файл, так и специальный раздел на жестком диске, называемые соответственно swap файл и swap раздел. В ОС Unix, и подобных ей, swap обычно помещается на отдельный раздел жёсткого диска, что ранее ускоряло доступ к данным, по сравнению с расположением swap на обычном разделе. В ядрах Linux 2.6 и новее работа swap файла не уступает по производительности swap-разделу


Таким образом, если Ваш VPS работает на SSD, то работа Swap файла не будет сильно уступать по скорости чтения/записи оперативной памяти, при этом ресурсы виртуальной памяти заметно увеличатся.

Итак, подключимся к VPS по протоколу SSH. Чтобы узнать есть ли на VPS swap, введем команду:

swapon -s

Если у Вас уже есть Swap файл при вводе команды Вы увидите примерно следующее:


[root@]# swapon -s
Filename Type Size Used Priority
/var/swap.img file 1023992 30248 -1
[root@]# _


Также, проверить наличие Swap Вы можете командой:

free

Если у Вас отсутствует файл подкачки, то в разделе Swap будут нули.

Swap: 0 0 0

Приступаем к созданию Swap файла, для этого переходим в папку var командой:

cd /var

Создаем в этой папке Swap файл и даем ему права доступа 600.

touch swap.img
chmod 0600 swap.img


Зададим размер Swap файла.

 LOGIN писал(а) 

Рекомендуем задавать размер Swap файла равному 1-2x размера оперативной памяти VPS. Например, на VPS 1024Mb RAM, тогда зададим размер Swap равный также 1024Mb.


Для этого заполним наш Swap файл нулями, размером блока bs=1024k, скопировав этот блок n=1000, командой dd:

dd if=/dev/zero of=/var/swap.img bs=1024k count=1000

Этот процесс может занять некоторое время, в зависимости от размера файл и скорости записи блоков.

Инициализируем Swap файл командой mkswap:

mkswap /var/swap.img

После этой команды Swap на Вашем VPS будет готов к использованию.

Включаем Swap командой swapon:

swapon /var/swap.img

Все Swap включен, проверить это можно будет командами:

swapon -s

или

free

После перезагрузки VPS Swap будет отключен, чтобы при каждой перезагрузки сервера не включать вручную Swap, а это происходило автоматически, отредактируем файл fstab, добавив в него строку для запуск Swap. Для этого можно воспользоваться командой:

echo "/var/swap.img none swap sw 0 0" >> /etc/fstab

или отредактировать файл fstab вручную, открыв его для редактирования командой vi:

vi /etc/fstab

и добавить в него строку:

/var/swap.img none swap sw 0 0

Настроим Swap, точнее зададим приоритеты использования RAM и Swap, для этого в Linux существует команда sysctl с параметром vm.swappiness, значение которого может быть от 0 до 100. Если указать 100, то сервер будет максимально использовать оперативную память (RAM), если указать 0, то наоборот будет использоваться Swap.

 LOGIN писал(а) 
Рекомендем использовать значения параметра vm.swappiness=30. В этом случае при загрузке RAM на 70%, неактивные процессы будут выгружаться в Swap.


sysctl -w vm.swappiness=30

Теперь наш Swap файл готов и успешно работает. Чтобы отключить и очистить Swap файл, необходимо использовать команду swapoff:

swapoff /var/swap.img

Статья взята с lode.in
Отредактировано: Gusar82 2024.03.20 12:43:03