Как создать Swap файл подкачки в Linux-подобных ОС

Этот материал будет полезен в первую очередь тем, кто занимается администрированием серверов как на предприятии так и на VPS. Инструкция подойдет как для Debian/Ubuntu, так и для других систем (Centos).

Что такое Swap (файл подкачки)

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

Swap может быть представлен в двух исполнениях:

  1. отдельный раздел на диске
  2. файл на диске.

Примечательно, что в случае, если ваша система работает на SSD диске, то производительность swap файла не будет сильно уступать по скорости доступа ОП.

Проверяем наличие Swap файла подкачки в Linux

Заходим на сервер через SSH, для проверки наличия файла подкачки вводим команду:

swapon -s

При наличии файла подкачки результат команды будет таким:

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

Есть и альтернативный метод:

free

Если файла подкачки нет, то напротив соответствующего пункта будут нули:

Swap:            0          0          0

Как создать Swap файл подкачки в Linux

Переходим в папку /var:

cd /var

Создаем Swap файл и задаем права доступа к нему:

touch swap.img
chmod 0600 swap.img

 Выбираем размер файла подкачки

Как говорил Владимир Павлович — «размер Swap файла должен быть равен объему оперативной памяти, либо превышать ее в два раза«. Из вышесказанного делаем вывод, что при размере памяти равному 1024мб, размер файла подкачки будет равен 1024мб/2048мб.

Используя консольную утилиту dd заполним только что созданный файл нулями:

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

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

mkswap /var/swap.img

Поздравляю, Swap файл готов к использованию.

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

swapon /var/swap.img

Проверяем действительно ли это так:

swapon -s

или

free

Добавляем Swap в fstab

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

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

или

nano /etc/fstab

и дописываем там строку

/var/swap.img    none    swap    sw    0    0

 Зададим приоритеты использования памяти в системе

Поскольку теперь в системе есть по сути два варианта памяти — RAM и Swap, то неплохо будет определить, каким образом система будет их использовать. Используя утилиту sysctl с параметром запуска vm.swappiness, зададим, на каком этапе загрузки RAM (оперативной памяти) будет использоваться Swap. Значение sysctl может варьироваться в пределах от 0 до 100. В случае, если указать максимальное значение — 100, система будет использовать только ОП и наоборот, если указать 0, то она будет использовать только Swap.

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

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

sysctl -w vm.swappiness=30

Для отключения свап-файла используйте команду:

swapoff /var/swap.img

На этом вопрос о том как создать Swap файл подкачки в Linux можно считать закрытым.

(Просмотров 8 087 )

Solbadguy

Привет, меня зовут Евгений. Этот сайт задуман в качестве моей записной книжки, к которой я буду время от времени обращаться, чтобы освежить память. Надеюсь, что мои заметки пригодятся и кому-нибудь из Вас.


Поделитесь записью в соц. сетях: