Вроде с линукс общаюсь уже давно, а вот то, что сейчас считается хорошей практикой создавать не раздел своп, а файл узнал буквально вчера. Есть конечно в обоих вариантах и плюсы и минусы, но в случае с файлом мне кажется больше свободы. В чем приемущество создания swap в виде файла, ну например хотя бы в том, что можно легко создать, удалить, пересоздать. Был у меня случай, когда при разметке (чаще делаю её в ручную при установке) наптсал 16, а букву G не добавил. В один прекрасный момент, при запущенный нескольких виртуалка выскочило сообщение, что места нет в свопе. Стал разбираться и понял, что пропустил букву. Пришлось Gparted потом перерезать диск.
А вот если бы тогда знал, что можно использовать swap не только как раздел, но и как файл, то буквально в несколько секунд решил бы тогда проблему.
И так, присиупим. Для начала нам нужно узнать, если у нас уже swap в системе или нет:
swapon -s
Если у нас пустой вывод, то свопа нет. Ещё информацию про swap можно узнать по команде:
free -h
Создание файла
Вариант 1:
sudo dd if=/dev/zero of=/swapfile bs=1M count=500 status=progress
if=/dev/zero — Забить файл нулями.
of= /swapfile — Указывает путь, где будет создан файл. В данном случае в корне.
bs=1M — Размер блоков (Block size).
count=500 — Размер файла 500 мегобайт.
status=progress — Дополнительная феничка, смотреть прогресс создания.
Вариант 2:
В принципе выполняет всё то же самое, но быстрее, поскольку не забивает файл улями.
sudo follocate -l 500M /swapfile
Подключение файла
После создания файла его нужно подключить к системе.
sudo mkswap /swapfile
Включение файла
Данная команда будет действовать до перезагрузки. С одной стороны это хорошо, если вам нужен swap только на время. С другой нужно подключать swap файл каждый раз.
sudo swapon /swapfile
Монтировать своп при загрузке
Чтобы нам руками не подключать swap файл нужно его прописать а автозагрузку, в файл /etc/fstab.
sudo nano /etc/fstab
добавив строку
/swapfile none swap sw 0 0
Отлючение файла
Если вдруг понадобилось отключить своп файл, то выполните данную команду.
sudo swapoff /swapfile
Если файлов несколько, то можно отключить или включить сразу все файлы
# Подключить сразу все файлы
sudo swapon -a
# Отключить сразу все файлы
sudo swapoff -a
