Файл подкачки Linux – что это и как с ним работать

Современные устройства, функционирующие на различных операционных системах, имеют файл подкачки. Он служит для подстраховки оперативной памяти компьютера. В этом вопросе ОС Linux не является исключением из правила.

Для чего это необходимо? Когда пользователь ПК загружает оперативную память под завязку, устройство получает дополнительный объем памяти из файла подкачки. В каких ситуациях это может потребоваться:

  1. Для сохранения нормальной производительности компьютера в том случае, если запас ОЗУ постепенно заканчивается. Без файла подкачки устройство начнет заметно притормаживать. Это отрицательно скажется на комфорте работы с ПК.
  2. Для оптимального распределения приоритетов (система определит, какой вид памяти будет выделен на те или иные процессы).

Эта информация пригодится всем, кто имеет дело со swap. Данный термин имеет следующее значение: swap – это файл в системном разделе или отдельный раздел диска. В большинстве своем его принято создавать в процессе установки ОС. Но если есть такая необходимость, можно создать swap в любой другой момент времени.

В отдельно взятых случаях желание пользователя относительно присутствия swap на ПК не учитывается. В некоторых версиях ОС Ubuntu Linux файл подкачки создается по умолчанию, и с этим уже ничего не поделать. Остается лишь принять это, как факт. Многие юзеры не довольны таким решением, поскольку файл подкачки на их компьютерах занимает порядком 1 Гб памяти.

Проверка на наличие файла подкачки в ОС Linux

Если swap есть на используемом устройстве, с ним можно проделывать множество различных действий. Однако прежде чем приступить к конкретной задаче, нужно хотя бы убедиться в наличии swap на конкретном ПК. А то вдруг окажется так, что swap и вовсе отсутствует.

Чтобы посмотреть swap в операционной системе Линукс, необходимо задать определенную команду. Она выглядит следующим образом:

$ free -h

Файл подкачки

Здесь:

  1. total - всего памяти.
  2. used - сколько используется в данный момент.
  3. free - свободная память, не используется.

К сожалению, данная команда показывает только общую информацию (total, used, free) и  не может дать четкого определения тому, что это файл подкачки или смонтированный раздел. Именно поэтому для дополнительноой проверки воспользуемся другой командой - "swapon".

# swapon --show

shapon

Как видно из скриншота выше,  swap находится в разделе /dev/sda5, размером 2,8 gb и это не файл.

Давайте предположим следующий возможный вариант развития сценария: файл подкачки отсутствует на вашем компьютере. Как это выявить? Введите в терминале команду free -h, и ознакомьтесь с полученной информацией. Если в строке «Подкачка» стоят сплошные нули, то swap не создан в операционной системе Linux.

Создание swap Linux

Если файла подкачки нет, будет логичным приняться за его создание. Далее вы ознакомитесь с пошаговой инструкцией по созданию swap для Линукс.

  1. Как создать файл

Воспользуйтесь терминалом для реализации задуманного.

# fallocate -|1G /swapfile

Примечание: 1 G – величина файла подкачки.

Чтобы защитить swap, необходимо установить на этот файл нужные права. Сделайте это при помощи:

# chmod 600 /swapfile

Примечание: в конце этой строки стоит название swap файла. Наименование выбирается на свое усмотрение. Его можно поменять.

Права 600 означает - владелец может читать/писать, остальным все запрещено.

  1. Как создать файловую систему

Нужный объект создан, но на данный момент ОС Linux не определяет его, как файл подкачки. Необходимо воспользоваться специальной командой для устранения этой проблемы:

# mkswap /swapfile

  1. Как включить swap

По завершению операций, описанных выше, ОС Линукс начинает понимать, что новый объект возьмет на себя роль файла подкачки. Пришло время активировать его. Для этих целей введите в терминале следующее:

# swapon /swapfile

Как посмотреть, произошло ли распознание файла подкачки? Задайте в строке следующую команду:

$ swapon --show

При правильном следовании инструкции вы увидите тип файла и его величину в соответствующих полях.

  1. Как сохранить настройки

Внесенные коррективы имеют временный характер – они утратят свою актуальность сразу же после перезагрузки устройства. Их нужно сделать постоянными, но к этому вернемся чуть позже. Для начала следует произвести другое важное действие. А теперь попробуем создать резервную копию swap. Для этих целей введите в строке:

# cp /etc/fstab /etc/fstab.back

Настройки будут сброшены после перезапуска компьютера. Чтобы избежать этого, необходимо вписать в файл некоторую информацию. Осуществите эту идею с помощью:

$ echo ’/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

Дело сделано. Теперь можно смело перезапускать устройство. Сохраненные данные останутся на месте.

Как настроить Swapiness

ОС Linux может использовать swap с разной частотой. Частота использования может варьироваться от 0 до 100. Она задается в параметрах swap.

Значение, приближенное к «0» означает, что система начнет обращаться к файлу подкачки только в самых экстренных случаях (как страховочный вариант). Значение, приближенное к «100» означает, что система начнет освобождать физическую память, перемещая объекты в раздел подкачки.

Команда для проверки установленного параметра в устройстве:

$ cat /proc/sys/vm/swapiness

Если указанное значение вам подходит, можно считать, что настройки завершены. В обратном случае нужно поменять это значение на более подходящий вариант. Например:

# sysctl vm.swapiness=25

В приведенном примере «25» – новое значение. Вы можете выбрать число по собственному усмотрению. Главное, чтобы значение попадало в диапазон от 0 до 100. После внесения изменений нужно еще раз позаботиться о том, чтобы они не обнулились после перезапуска системы. Введите в строке терминала запрос:

# nano /etc/sysctl.conf

Запустите текстовый редактор (обязательно с правами суперпользователя). С его помощью нужно прописать некоторую информацию в конце файла. Значение, которое нужно вписать:

vm.swapiness=25 (или любое другое значение, которое вас устроит).

Размер файла подкачки в ОС Линукс

Существует несколько способов увеличения/уменьшения swap файла в устройствах, функционирующих на ОС Linux. Перед тем, как разобраться с этим вопросом подробнее, следует уделить несколько секунд своего внимания важному напоминанию:

При отключении swap операционная система компьютера начинает использовать только ОЗУ. Если объем оперативной памяти закончится, устройство может зависнуть. Все рабочие процессы ПК остановятся.

Чтобы избежать подобных неприятностей, нужно создать запасной (временный) файл подкачки перед тем, как удалять или изменять swap. Обязательны ли эти действия к выполнению? Здесь нужно смотреть по ситуации. Если ОЗУ устройства достаточно велика, можно вполне обойтись и без создания второго swap файла. В этом нет ничего рискованного.

Теперь приступаем к следующему этапу настройки – корректировке величины файла. Чтобы все прошло безопасно, swap нужно отключить. Введите в строке запрос:

# swapoff /swapfile

Чтобы изменить величину swap, введите в строке:

# fallocate -| 2G /swapfile

Вместо «2G» укажите подходящую для вас величину файла подкачки. Для его форматирования воспользуйтесь этой командой:

# mkswap /swapfile

И последнее действие – включение файла подкачки. Попробуйте включить его при помощи:

# swapon /swapfile

Интересная информация: пользователь может создавать и использовать несколько swap файлов на устройстве с ОС Linux.

Удаление swap в операционной системе Линукс

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

Выключение:

# swapoff /swapfile

Теперь можно спокойно приступать к удалению при помощи команды "rm".

# rm /swapfile

Важное напоминание: при создании нового файла подкачки в ОС Линукс придется снова установить права на swap.

Итоги

Концепция swap для операционной системы Linux очень проста. Ознакомившись с нашей статьей, вы сможете проверить устройство на присутствие файла подкачки, создать его, правильно настроить и безопасно удалить.