Создание 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