Создание swap из файла в Linux

Обновлено Обновлено: Опубликовано Опубликовано:

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

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

Рассмотрим процесс по шагам.

Новый swap из файла

Создаем отдельный файл:

dd if=/dev/zero of=/swapfile bs=1024 count=4194304

* данный файл будет располагаться в корне Linux с названием swapfile (of=). Его объем будет 4 Гб (4 * 1024 * 1024) (count=).

Расчет объема для файла подкачки — дело индивидуальное. Стандартно, можно взять объем оперативной памяти и умножить на 2. Полученный результат использовать. Однако, чем больше оперативной памяти, тем менее вероятно, что подкачка понадобится и, возможно, ее не обязательно создавать. Более того, для уменьшения нагрузки на диск, файл подкачки может быть отключен.

Другими словами, если мы не знаем, какой нам нужен объем, но уверены, что нужен файл подкачки, пользуемся формулой <память RAM> * 2.

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

chmod 600 /swapfile

Делаем область подкачки из файла:

mkswap /swapfile

Включаем файл подкачки:

swapon /swapfile

Готово.

Для проверки можно воспользоваться двумя командами:

free -h

swapon --show

* первая команда покажет объемы оперативной памяти и файла подкачки, а также их задействованность. Вторая покажет информацию по файлу подкачки.

Чтобы файл подкачки использовался каждый раз при старте системы, отредактируем fstab:

vi /etc/fstab

Добавим строку:

/swapfile       swap    swap    defaults        0 0

При необходимости, отключить swap можно командой:

swapoff /swapfile

Также может оказаться полезна команда, которая очистит swap, если он был забит:

swapoff -a && swapon -a

* с ее помощью мы отключим все файлы подкачи в системе и подключим их снова.

Изменение размера для swap

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

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

cat /etc/fstab | grep swap

Например, мы получили ответ:

/swap.img       none    swap    sw      0       0

То есть, в нашей системе есть файл подкачки /swap.img. Отключим для него swap:

swapoff /swap.img

Удалим сам файл:

rm -f /swap.img

И создаем новый, согласно инструкции выше:

dd if=/dev/zero of=/swap.img bs=1024 count=8388608

chmod 600 /swap.img

mkswap /swap.img

swapon /swap.img

# Linux # Операционные системы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет

Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Нужна бесплатная консультация?

Мини-инструкции

Как настроить кластер PostgreSQL с логической репликацией

Как установить и настроить кластер JMeter на Linux для проведения нагрузочного тестирования

Установка и использование OpenStack CLI для работы с облачными сервисами

Как создать файл подкачки (раздел swap) в Linux из обычного файла

Как просканировать образы и пакеты на уязвимости с помощью trivy

Как настроить Postfix, чтобы отправка с разных доменов выполнялась с разных IP-адресов

Установка, настройка и использование Roundcube на Ubuntu или Debian

Другие инструкции

Все статьи

Нужна помощь? Пишите:






Реклама