Как использовать swap-файл вместо swap-раздела в Linux

swap

В этой статье, вы узнаете как создать файл подкачки(swap-файл), и использовать его вместо существующего раздела подкачки.

Файл подкачки позволяет операционной системе использовать пространство на жестком диске для имитации дополнительной памяти. Когда система работает на низком уровне памяти, она обменивает раздел ОЗУ, который простаивающая программа использует на жестком диске, чтобы освободить память для других программ.

Если вам не нужно отключать какой-либо существующий раздел подкачки, а вы только хотите создать файл подкачки и активировать его, просто пропустите шаги 1 и 2.

В моей операционной системе KDE NEON у меня был довольно большой раздел подкачки, и однажды я захотел изменить его, и переместить своп в файл. В Ubuntu 18.04 уже используется файл подкачки по умолчанию вместо раздела подкачки, однако я использую KDE NEON которая основана на Ubuntu 16.04, и поэтому по-умолчанию здесь используется раздел подкачки.

В результате приведенные ниже инструкции были протестированы на моем рабочем столе KDE NEON. Однако они должны работать на любом дистрибутиве Linux.

Важно отметить, что вы не можете использовать файл подкачки с файловой системой BTRFS.

Кроме того, спящий режим (на диск) больше не будет работать из коробки при использовании файла подкачки. Возможно это как-то можно сделать, но я не использую спящий режим в своей системе, а вместо этого пользуюсь ждущим режимом. Более того, большинство дистрибутивов Linux в любом случае используют ждущий режим (из RAM) вместо спящего режима (с диска) по умолчанию.

Как переместить swap в файл в вашей файловой системе Linux

1. Отключите свой текущий раздел подкачки.

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

swapon -s

Вывод команды выглядит так в моем случае:

swap

Теперь вы можете отключить текущее сменное устройство, используя следующую команду:

sudo swapoff /dev/sdXX

Где /dev/sdXX – означает устройство на котором находится раздел подкачки (например у меня это – /dev/sda1 ), поэтому обязательно замените его на ваш раздел подкачки.

2. Удалите свою старую запись подкачки из файла /etc/fstab.

Чтобы удалить старую запись подкачки, откройте /etc/fstab файл с правами пользователя с помощью текстового редактора и удалите строку подкачки. Не изменяйте ничего в /etc/fstab файле! Изменение чего-либо еще в этом файле может помешать загрузке вашей системы!

Вы можете открыть файл с помощью редактора Nano из командной строки, например:

sudo nano /etc/fstab

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

swap

Как вы можете видеть, запись в swap должна содержать swapи sw-

Затем нажмите Ctrl+O Enter чтобы сохранить файл. А чтобы выйти из редактора, нажмите Ctrl+X.

3. Создайте файл подкачки.

Для создания файла подкачки 1 ГБ используйте эту команду:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Где:

  • /swapfile – это путь и имя файла подкачки. Вы можете изменить его на любое другое.
  • число после count(1048576) равно 1 ГБ. Увеличьте его, если вы хотите использовать большой файл подкачки. Например, умножьте это число на 5, если вы хотите использовать файл подкачки 5 ГБ (поэтому используйте 5242880 в качестве count=значения для файла подкачки размером 5 ГБ).

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

4. Установите права файла подкачки – 600.

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

Чтобы установить разрешение файла подкачки на 600, используйте следующую команду:

sudo chmod 600 /swapfile

5. Отформатируйте вновь созданный файл как swap:

sudo mkswap /swapfile

6. Включите вновь созданный файл подкачки:

sudo swapon /swapfile

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

swapon -s

Он должен выводить что-то вроде этого:

swap

7. Добавьте вновь созданный файл подкачки в /etc/fstab.

Чтобы использовать новый файл подкачки каждый раз при загрузке, вам нужно добавить его в /etc/fstab файл. Откройте /etc/fstab с помощью текстового редактора (как root) Nano:

sudo nano /etc/fstab

И в этом файле добавьте следующую строку:

/swapfile none swap sw 0 0

swap

Чтобы сохранить файл (если вы использовали редактор Nano), нажмите Ctrl+O Enter, и нажмите Ctrl+X чтобы выйти. Опять же, ничего не изменяйте в /etc/fstab файле! Изменение чего-либо в этом файле может помешать загрузке вашей системы!

После всего проделанного запустите команду

update-initramfs -u

Вот и все, теперь вы полностью перешли на файл подкачки.

Поділіться своєю любов'ю

Залишити відповідь

8 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
nikolay.ershov

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

kuchera066

Разработчик арко Эрик Дюбуа , вот его канал на ютубе https://www.youtube.com/channel/UCJdmdUp5BrsWsYVQUylCMLg?pbjreload=10 посмотри , там тонны видео по настройке в том числе и swapfile , я и сейчас его иконки тягаю по всем дистрам

nikolay.ershov

Пишет в терминале, (OS: ArcoLinux)
~]$ update-initramfs -u
bash: update-initramfs: команда не найдена
как понять?

UALinux

В ArchLinux эта команда не работает, там как-то по другому.

Macks

Админ, а разве вот так не проще?
sudo fallocate -l 1G /swapfile
echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
Хотя на вкус и цвет…

UALinux

Все верно, – на вкус и цвет…

andrey.bobrov

Как насчет пакета zram-config?

UALinux

Это уже отдельная история.

8
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x