zaLinux.ru

Как в Linux Mint и Ubuntu увеличить и раздел подкачки. Как в Linux создать файл подкачки Swap


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

Файл подкачки — это определённое место на постоянном хранилище (например, на жёстком диске), куда на время сбрасываются данные, которые не умещаются в оперативную память. То есть это возможность увеличить количество оперативной памяти без покупки модулей ОЗУ. Правда, такая «виртуальная» оперативная память работает медленнее.

Посмотреть текущий размер раздела подкачки можно командой:

swapon --show

Либо командой free:

free -h

Либо с помощью top:

top

Как можно увидеть, в системе присутствует файл подкачки размером 2 Гигабайта, что, предположим, недостаточно.

Отключаем и удаляем этот файл подкачки следующими командами:

sudo swapoff -a
sudo rm -f /swapfile

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

Для создания файла подкачки размером 8G (измените значение по вашему желанию) выполните команду:

sudo fallocate -l 8G /swapfile

Затем выполните команды:

sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

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

Либо это можно сделать командой:

swapon --show

Вот и всё! Вам даже не нужно перезагружать систему, чтобы изменения вступили в силу.


Кстати, если вы вновь заходите изменить размер файла подкачки (в сторону увеличения или в сторону уменьшения — не важно), то в точности следуйте этой же инструкции ещё раз, но при создании файла подкачки укажите другой размер.

Как в Linux Mint и Ubuntu удалить файл подкачки

Для полного удаления файла подкачки выполните команды:

sudo swapoff -a
sudo rm -f /swapfile

Затем откройте файл /etc/fstab:

sudo gedit /etc/fstab

И удалите из него строку:


/swapfile none swap defaults 0 0

Ошибка «fallocate: fallocate failed: Текстовый файл занят»

Если вы столкнулись с ошибкой:

fallocate: fallocate failed: Текстовый файл занят

Это означает, что вы хотите создать файл подкачки, но файл с таким именем уже существует и всё ещё используется. На английском ошибка выглядит так: fallocate: fallocate failed: Text file busy.

Для его отключения и удаления выполните команды:

sudo swapoff -a
sudo rm -f /swapfile

Управление файлами подкачки в других Linux

Для увеличения или создания файла подкачки в других дистрибутивах смотрите статьи:

Как создать раздел подкачки на другом диске

Вам необязательно использовать для свопа именно системный диск, на котором может быть мало место. Вы можете создать раздел на любом диске в системе. Подробности смотрите в инструкции «Как создать раздел подкачки не на системном диске. Как переместить раздел подкачки на другой диск».

Как проверить использование файла подкачки в Linux

Стресс-тестирование системы в сценарии исчерпания всей оперативной памяти: Как проверить использование файла подкачки в Linux


Рекомендуемые статьи:

15 Комментарии

  1. busuzima

    Алексей, хотел выразить огромную благодарность за Ваш труд. Мне, как продвинутому новичку в мире Linux и всего, что с ним связано, это очень помогает. Так держать! Спасибо большое!

    1. Alexey (Автор записи)

      Спасибо за добрые слова.

  2. Luk

    Спасибо! Толково все изложено. Мне помогло)

  3. Виктор

    Большое спасибо!

  4. Валентин

    При запуске GIMP появляются такие сообщения;"Невозможно открыть тестовый файл подкачки.Чтобы избежать потери данных, проверьте в настройках расположение файла подкачки и права на него. (сейчас "/home/val/.gimp-2.8").

    Невозможно открыть файл подкачки. GIMP использовал всю доступную оперативную память и не может использовать файл подкачки. Некоторые части ваших изображений могут оказаться поврежденными. Сохраните файлы под другими именами, перезапустите GIMP и проверьте путь к файлу подкачки в параметрах программы."
    Куда копать, что изменить, ОС LM 19,2 x64

    1. Alexey (Автор записи)

      Приветствую!

      Суть ошибки в том, что:

      1. Закончилась оперативная память во время работы GIMP и, видимо, системный файл подкачки тоже закончился, если он есть
      2. Закончилось место на диске, либо неправильно выставлены права на файлы подкачки самой программы GIMP, которые она хранит на диске.

      Если вы много работаете с большими изображениями, то самый лучший вариант — это установить в компьютер больше оперативной памяти.

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

      Если на диске действительно закончилось место, то:

      а) очистите диск

      б) укажите другую папку подкачки GIMP, для этого в меню GIMP перейдите в Правка → Параметры → Каталоги. Там установите значения для «Папка для временных файлов» и «Папка для подкачки»:

      Если даже это невозможно, то в разделе «Системные ресурсы», уменьшите значения для «Максимальная память для отмены», «Размер кэша», а для «Сжатие файла подкачки» выберите «Лучшее сжатие»:

      1. Валентин

        Alexey, спасибо за ответ, но пока ничего не получается. Выкладываю скрины, что выдает система.

        1. Alexey (Автор записи)

          На одном из скриншотов видно, что не удаётся создать файл gimprc, поскольку отказано в доступе.

          Проверьте, существует ли папка ~/.gimp-2.8/ и какие у неё права доступа:

          ls -l ~/.gimp-2.8/

          Правильно ли я понимаю, что ваша домашняя папка это /home/val, а имя пользователя val?

          То есть всё дело в правах доступа на папку ~/.gimp-2.8/ - или у вас нет прав на эту папку, либо нет самой этой папки или что-то похожее. Можно попробовать указать в качестве временного каталога и каталога подкачки какую-нибудь папку, на которую у вас точно есть права доступа.

          1. Валентин

            Папка существует, права есть… Нет времени разбираться с проблемой (срочно нужно обработать десяток фотографий), сейчас переустановлю систему, быстрей получится. Спасибо за участие! С наступащим НГ, успехов, благополучия!

  5. Сабит

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

     

    1. Alexey (Автор записи)

      После перезагрузки изменения должны сохраняться.

      Обратите внимание, что информация о файле подкачки хранится в файле /etc/fstab, но в данной инструкции мы НЕ редактируем этот файл (не добавляем информацию о файле подкачки) по той причине, что в Linux Mint и Ubuntu эта запись уже есть. Данная инструкция, кстати, называется «Как в Linux Mint и Ubuntu увеличить и раздел подкачки» и предназначена для этих двух дистрибутивов.

      Возможно, у вас другой дистрибутив и просто нужно добавить запись в файл /etc/fstab чтобы автоматически использовался файл подкачки. О том, как это сделать, можете посмотреть в статье «Как в Kali Linux создать или увеличить файл подкачки (Swap)».

  6. Павел

    На вашем скрине и у меня на практике после данных действий файл подкачки не задействуется. там так и видно, что кол-во задействованного места - 0. В чем причина и как её решить?

    1. Alexey (Автор записи)

      Приветствую! Файл подкачки будет задействован когда закончится физическая память. На моём скрине видно, что задействовано только 14 процентов физической памяти. По этой причине файл подкачки в момент снятия скрина просто не нужен.

      У вас точно израсходована физическая память?

      Установите stress-ng и запустите что-нибудь такое:

      stress-ng --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 1.1;}' < /proc/meminfo)k --vm-keep -m 1

      И понаблюдайте за расходом памяти — увидите, как начнёт использоваться файл подкачки.

  7. Юрий

    yuriy@Aspire-5742G:~$ sudo chmod 600 /swapfile
    yuriy@Aspire-5742G:~$ mkswap /swapfile
    mkswap: невозможно открыть /swapfile: Отказано в доступе

    Здравсвуйте!! А что делать дальше?

    1. Alexey (Автор записи)

      Здравствуйте, а дальше как в инструкции: там «sudo mkswap /swapfile», там нет «mkswap /swapfile».

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *