Файл/раздел подкачки - это файл или раздел на диске компьютера, который используется для компенсации нехватки объема оперативной памяти. Система использует его в качество свободной ОЗУ при заполнении основного объёма.
Использование файла подкачки - это крайняя мера. Потому что диски не обладают таким ресурсом прочности к перезаписи информации, каким обладает ОЗУ. От постоянной работы в качестве дополнительной ОЗУ сектора диска могут выйти из строя.
Создание файла подкачки
В Linux можно сделать механизм подкачки не только во время создания системы. Поэтому если во время установки ОС не было создано никакого раздела подкачки, то можно в любое время можно сделать swap файл. Далее будут описана процедура создания такого файла. Все команды примеров необходимо запускать от имени суперпользователя "root".Для создания SWAP файла понадобится утилита "fallocate". Она резервирует место на диске. Попробуем зарезервировать 8 гигабайт для файла подкачки, который будет находится в корне файловой системы и называться "swapfile":
fallocate -l 8G /swapfile
Ключ "-l" в этой команде используется для задания размера файла. После создания файла необходимо присвоить права для чтения и записи в него. Это должно быть позволено только администратору (пользователю "root"):
chmod 600 /swapfile
Файл создан, права настроены. Осталось создать структуру данных для swap файла. Делается это с помощью команды "mkswap", после которой указывается путь к файлу подкачки:
mkswap /swapfile
После выполнения этой команды система запомнит, что этот файл можно использовать в качестве файла подкачки. Остаётся только подключить файл. Вручную это можно сделать с помощью команды "swapon" с указанием ключа -v и пути к файлу:
swapon -v /swapfile
В случае, если файл подкачки будет успешно подключен, то он станет виден в выводе команды со списком доступных swap:
swapon --show
Файл будет подключен только до перезагрузки системы. После чего придётся снова вводить команду подключения. Чтобы не делать это вручную, можно поставить файл на автозагрузку. Для этого в конфигурационный файл автозагрузки разделов "/etc/fstab" необходимо дописать следующую строку:
/swapfile none swap sw 0 0
Теперь файл подкачки будет подключаться сразу после старта системы.
Удаление SWAP файла
Если потребуется удалить файл подкачки, созданный по инструкции из этой статьи, то сначала отключите его:swapoff -v /swapfile
Затем удалите строчку из файла автозагрузки разделов "/etc/fstab":
/swapfile swap swap defaults 0 0
И в конце можно удалить сам файл:
rm /swapfile
Почему файл подкачки отключают?
Проблема в том, что в Linux можно только указать, с какой вероятностью информация будет попадать в swap. За это отвечает параметр vm.swappiness. Он изменяется в диапазоне от 5 до 95 (можно задать и другие значения, но они будут тот же эффект, что и эти предельные). Грубо говоря, это соответсвует 5% и 95% вероятности попадения данных в swap. Поэтому часто в файл подкачки попадает информация даже при наличии свободного места в ОЗУ.Нельзя заставить Linux использовать swap только в случае крайней необходимости. Для этого придётся полностью отключить подкачку.