Как увеличить файл подкачки в линукс минт
Перейти к содержимому

Как увеличить файл подкачки в линукс минт

  • автор:

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

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

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

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

swapon --show

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

free -h

Как можно увидеть, в системе присутствует файл подкачки размером 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

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

  • Как в Kali Linux создать или увеличить файл подкачки (Swap)
  • Файл подкачки и раздел подкачки в Arch Linux: что выбрать и как добавить Swap

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

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

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

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

Связанные статьи:

  • Как создать раздел подкачки не на системном диске. Как переместить раздел подкачки на другой диск (100%)
  • Как проверить использование файла подкачки в Linux (61.4%)
  • Динамические файлы подкачки создаются только когда нужны (61.4%)
  • Чем отличается Ждущий режим (Suspend) от Гибернация (Hibernate) в Linux. Почему отсутствует кнопка Гибернация (61.4%)
  • Как правильно и навсегда исправить ошибку «E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock — open (11: Resource temporarily unavailable)» (51.6%)
  • Как вывести список пользователей в Linux (RANDOM — 13%)

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

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

busuzima 21.02.2019 в 12:53

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

Alexey (Автор записи) 21.02.2019 в 13:39
Спасибо за добрые слова.
Luk 20.04.2019 в 15:35
Спасибо! Толково все изложено. Мне помогло)
Виктор 10.11.2019 в 21:42
Большое спасибо!
Валентин 21.12.2019 в 13:08

При запуске GIMP появляются такие сообщения;»Невозможно открыть тестовый файл подкачки.Чтобы избежать потери данных, проверьте в настройках расположение файла подкачки и права на него. (сейчас «/home/val/.gimp-2.8″). Невозможно открыть файл подкачки. GIMP использовал всю доступную оперативную память и не может использовать файл подкачки. Некоторые части ваших изображений могут оказаться поврежденными. Сохраните файлы под другими именами, перезапустите GIMP и проверьте путь к файлу подкачки в параметрах программы.»
Куда копать, что изменить, ОС LM 19,2 x64

Alexey (Автор записи) 22.12.2019 в 03:57

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

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

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

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

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

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

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

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

Alexey (Автор записи) 22.12.2019 в 11:49

На одном из скриншотов видно, что не удаётся создать файл gimprc, поскольку отказано в доступе. Проверьте, существует ли папка ~/.gimp-2.8/ и какие у неё права доступа:

ls -l ~/.gimp-2.8/

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

Валентин 22.12.2019 в 16:29

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

Сабит 27.05.2020 в 06:25

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

Alexey (Автор записи) 27.05.2020 в 07:26

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

Павел 17.07.2020 в 19:20

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

Alexey (Автор записи) 17.07.2020 в 19:40

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

stress-ng --vm-bytes $(awk '/MemAvailable/' < /proc/meminfo)k --vm-keep -m 1

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

Юрий 31.10.2021 в 11:19

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

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

Сегодня мы будем говорить о файле подкачки в Linux. Расскажем для чего он нужен, как создать, изменить размер или удалить. В общем, все, что вам может понадобиться при работе со swap .

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

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

Сам по себе swap - это отдельный логический раздел вашего диска либо просто файл на системном разделе. Чаще всего он создается именно при установке операционной системы. Но создать swap linux можно и после завершения инсталляции ОС.

В последних версиях операционной системы Ubuntu Linux файл подкачки создается автоматически вне зависимости от того, хотите вы этого или нет. При этом его размер составляет около 1 Гб.

Как посмотреть swap в Linux

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

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

Как видите, в нашем случае под swap выделено 1.4 Гб и это файл. То есть, он находится не на отдельном разделе, а на том же диске, на котором установлена операционная система.

Если это будет отдельный логический том, то под надписью « TYPE » мы увидим слово «partition».

Если бы файл подкачки в вашей операционной системе отсутствовал, результат работы команды free - h выглядел бы примерно так:

То есть, вместо каких-либо данных о файле подкачки вы увидите нули.

Создание файла подкачки Linux

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

Шаг 1: Создаем swap файл

Давайте создадим файл подкачки для нашей Ubuntu. Для примера его размер составит 1 Гб. Запустите терминал и введите команду, приведенную ниже:

sudo fallocate -l 1G /swapfile

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

sudo chmod 600 /swapfile

При этом вместо «swapfile» мы можем указать любое другое название.

Шаг 2: Создание файловой системы

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

sudo mkswap /swapfile

Если все сделано верно, результат будет выглядеть так:

Шаг 3: Активируем файл подкачки

Хорошо, теперь наш Linux понимает, что это файл подкачки, но этого недостаточно. Нам также необходимо включить SWAP :

sudo swapon /swapfile

Давайте проверим, все ли мы сделали правильно:

Отлично, операционная система распознала наш файл подкачки и начала его использовать. Мы видим тип в поле TYPE и размер в поле SIZE .

Шаг 4. Сохранение изменений после перезагрузки

Все операции, которые мы предприняли выше, временны. Как только компьютер будет перезагружен, они отменятся. Для того чтобы сделать изменения постоянными, нам необходимо дописать кое-какую информацию в /etc/fstab. Для этого поступаем так:

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

sudo cp /etc/fstab /etc/fstab.back

После этого можно переходить непосредственно к добавлению нужных нам данных. Нам надо добавить в файл такую строчку:

/swapfile none swap sw 0 0

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

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

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

Настройка swappiness

Дальше будет рассмотрена настройка swap linux. У файла подкачки существуют параметры, которые сообщают ОС, как часто его нужно использовать. Это явление называется «свопингом» и может иметь значение в пределах 0 - 100. Если это значение ближе к 100, ядро будет перемещать в раздел подкачки больше информации чтобы освободить память. При значениях ближе к нулю, система будет использовать подкачку только при крайней необходимости.

К примеру, в версии Ubuntu L inux для рабочего стола устанавливается параметр 60, а в серверных редакциях операционной системы - 1. Для того чтобы проверить, какой параметр используется в нашей ОС, вводим в терминал такую команду:

Как видите, в нашем случае «свопинг» установлен как 60. Если же вы хотите поменять swappiness, можете воспользоваться оператором, цифра в конце которого и будет новым значением:

sudo sysctl vm.swappiness=25

Как и в случае с конфигурацией файла подкачки, данный параметр изначально будет временным и обнулится при следующей перезагрузке. Для того чтобы сделать его постоянным, в самом конце файла /etc/sysctl.conf записываем значение vm.swappiness=25.

Для этого можно воспользоваться, например, текстовым редактором, запущенным с администраторскими полномочиями.

Размер swap файла в Linux

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

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

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

sudo swapoff /swapfile

Вторым этапом меняем размер файла подкачки, воспользовавшись командой, приведенной ниже. При этом размер вашего swap файла нужно указать вместо параметра 2G (2 гигабайта):

sudo fallocate -l 2G /swapfile

Теперь форматируем полученный файл в файловую систему swap:

sudo mkswap /swapfile

А затем включаем его обратно:

sudo swapon /swapfile

При этом операционная система Linux позволяет использовать сразу несколько swap.

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

Если по каким-то причинам файл подкачки вам не нужен, можете удалить его. Для этого сначала надо отключить swap linux:

sudo swapoff /swapfile

А потом удаляем:

sudo rm /swapfile

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

В заключение

Надеемся теперь концепция файла подкачки в Linux ясна вам на 100%. Можете переходить к практике и проверять наличие swap на вашем компьютере или ноутбуке, его настройке, созданию или даже удалению. Если в результате у вас останутся какие-то вопросы, предложения или замечания, можете задать их нам, воспользовавшись формой комментирования ниже.

Похожие записи

Оцените статью

(42 оценок, среднее: 4,50 из 5)

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

30 комментариев к “Файл подкачки Linux”

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

всё именно так, почти все дистрибутивы из коробки свап на гиг метят Ответить
У меня убутнту (хотя бы пожалел). У меня нет свопа. Ответить

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

Вообще, автор несколько недоговаривает насчет свапа в GNU/Linux (вероятно, ввиду незнания). Дело в том, что свап нужен не столько для срочного получения памяти, сколько для ровного и эффективного высвобождения памяти. Использовать его в качестве "срочной памяти" в общем случае очень вредно. И отключение swap не спасает от проблемы дискового ввода/вывода при конкуренции за память — дисковый I/O просто перемещается с анонимных страниц на файловые. Это не только может быть менее эффективным, поскольку остаётся меньший пул страниц, доступных для высвобождения, но и само по себе может способствовать появлению этой высокой конкуренции. Ответить

И включение свопа тоже не спасает от заполнения озу дисковым кэшем. На разных дистрибутивах периодически сталкиваюсь с одной и той же проблемой. ОЗУ забивается дисковым кэшем и система начинает тормозить, при том что своп есть, активен, но он не используется. Опытным путем пришел к выводу что система начинает юзать своп отталкиваясь не от параметра в графе "свободно", а от параметра в графе "доступно". Я не знаю верный ли вывод сделал, но со стороны все выглядит именно так. Имею на борту 8 гб ОЗУ. Во время работы системы постепенно дисковый кэш начинает увеличиваться в размере и занимает около 6гб, при этом под реальные нужды используется всего 1,5гб, в графе "свободно" указано около 500мб, в графе доступно около 6,5гб. Стоит только запустить какую-нибудь задачу, которая потребляет озу хотя бы 1,5 -3 гб (игра), как система идёт в штопор, количество свободной памяти уменьшается до минимума прописанного в ядре - 65мб, потом начинает высвобождаться дисковый кэш, но он его просто дропает, а не пишет в своп. Причем дропает примерно до размера чтобы в графе "свободно" было 150-180мб. И после этого система начинает балансировать на этих 180 мб. Всё, естественно, становится дерганным и лагучим. Своп по прежнему не используется. Опытным путем выяснено что своп начинает использоваться тогда, когда в графе "доступно" появляется значение сопоставимое с выставленным параметром swappiness. Мне интересно, так задумано или это баг?
Приходилось устанавливать минимальное количество свободной озу на 500мб вместо 65. Подбирать swappiness в соответствии с нуждами. Но сам по себе своппинг, тоже по сути зло. В момент доступа к диску все равно наблюдались микрофризы, хотя своп находится на ссд. Решением стала настройка и уменьшение дискового кэша. Конечно, это имеет и свою отрицательную сторону, но тут, как говорится, из двух зол выбирай меньшее. Ответить

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

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

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

Что такое файл подкачки в Linux?

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

Традиционно пространство подкачки используется как отдельный раздел на диске. Когда вы устанавливаете Linux, вы создаете отдельный раздел только для подкачки. Но в последние годы эта тенденция изменилась.

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

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

Последние версии Ubuntu и некоторых других дистрибутивов Linux начали использовать файл подкачки по умолчанию. Даже если вы не создаете раздел подкачки, Ubuntu самостоятельно создает файл подкачки размером около 1 ГБ.

Давайте посмотрим еще на файлы подкачки.

Проверьте пространство подкачки в Linux

Прежде чем приступить к добавлению пространства подкачки, было бы неплохо проверить, есть ли в вашей системе уже доступное пространство подкачки.

Вы можете проверить это с помощью команды free в Linux. В моем случае мой Dell XPS имеет 14 ГБ подкачки.

free -h total used free shared buff/cache available Mem: 7.5G 4.1G 267M 971M 3.1G 2.2G Swap: 14G 0B 14G

Команда free дает вам размер пространства подкачки, но не говорит, настоящий ли это раздел подкачки или файл подкачки. Команда swapon в этом отношении лучше.

swapon --show NAME TYPE SIZE USED PRIO /dev/nvme0n1p4 partition 14.9G 0B -2

Как видите, у меня 14,9 ГБ пространства подкачки, и оно находится в отдельном разделе. Если бы это был файл подкачки, типом был бы файл, а не раздел.

swapon --show NAME TYPE SIZE USED PRIO /swapfile file 2G 0B -2

Если в вашей системе нет места подкачки, оно должно показать что-то вроде этого:

free -h total used free shared buff/cache available Mem: 7.5G 4.1G 267M 971M 3.1G 2.2G Swap: 0B 0B 0B

Команда swapon не выдаст никаких результатов.

Создать файл подкачки в Linux

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

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

Шаг 1. Создайте новый файл подкачки.

Прежде всего, создайте файл с нужным размером пространства подкачки. Допустим, я хочу добавить в свою систему 1 ГБ пространства подкачки. Используйте команду Fallocate, чтобы создать файл размером 1 ГБ.

sudo fallocate -l 1G /swapfile

Рекомендуется разрешить только пользователю root читать и записывать файл подкачки. Вы даже увидите предупреждение типа «предложены небезопасные разрешения 0644, 0600», когда попытаетесь использовать этот файл для области подкачки.

sudo chmod 600 /swapfile

Обратите внимание, что имя файла подкачки может быть любым. Если вам нужно несколько пространств подкачки, вы можете дать ему любое подходящее имя, например swap_file_1, swap_file_2 и т. д. Это просто файл с предопределенным размером.

Шаг 2. Отметьте новый файл как пространство подкачки.

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

sudo mkswap /swapfile

Вы должны увидеть такой вывод:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=7e1faacb-ea93-4c49-a53d-fb40f3ce016a

Шаг 3. Включите файл подкачки

Теперь ваша система знает, что файл подкачки можно использовать в качестве пространства подкачки. Но это еще не сделано. Вам необходимо включить файл подкачки, чтобы ваша система могла начать использовать этот файл в качестве подкачки.

sudo swapon /swapfile

Теперь, если вы проверите пространство подкачки, вы увидите, что ваша система Linux распознает и использует его как область подкачки:

swapon --show NAME TYPE SIZE USED PRIO /swapfile file 1024M 0B -2

Шаг 4. Сделайте изменения постоянными

Все, что вы сделали до сих пор, является временным. Перезагрузите систему, и все изменения исчезнут.

Вы можете сделать изменения постоянными, добавив вновь созданный файл подкачки в файл /etc/fstab.

Всегда полезно сделать резервную копию, прежде чем вносить какие-либо изменения в файл /etc/fstab.

sudo cp /etc/fstab /etc/fstab.back

Теперь вы можете добавить следующую строку в конец файла /etc/fstab:

/swapfile none swap sw 0 0

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

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

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

Отрегулируйте подкачку

Параметры swappiness определяют, как часто следует использовать пространство подкачки. Значение swappiness варьируется от 0 до 100. Более высокое значение означает, что пространство подкачки будет использоваться чаще.

Значение подкачки по умолчанию на рабочем столе Ubuntu равно 60, а на сервере — 1. Вы можете проверить подкачку с помощью следующей команды:

cat /proc/sys/vm/swappiness

Почему серверам следует использовать низкую подкачку? Поскольку подкачка выполняется медленнее, чем ОЗУ, и для повышения производительности ОЗУ следует использовать как можно больше. На серверах фактор производительности имеет решающее значение, поэтому скорость подкачки минимально возможна.

Вы можете изменить подкачку на лету, используя следующую команду systemd:

sudo sysctl vm.swappiness=25

Однако это меняет лишь временное значение. Если вы хотите сделать его постоянным, вы можете отредактировать файл /etc/sysctl.conf и добавить значение подкачки в конец файла:

vm.swappiness=25

Изменение размера пространства подкачки в Linux

Есть несколько способов изменить размер пространства подкачки в Linux. Но прежде чем вы это увидите, вам следует кое-что узнать об этом.

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

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

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

sudo swapoff /swapfile

Теперь вы можете использовать команду Fallocate, чтобы изменить размер файла. Допустим, вы меняете его размер на 2 ГБ:

sudo fallocate -l 2G /swapfile

Теперь снова отметьте файл как пространство подкачки:

sudo mkswap /swapfile

И снова включаем своп:

sudo swapon /swapfile

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

Удаление файла подкачки в Linux

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

Во-первых, убедитесь, что у вас достаточно свободной оперативной памяти. Теперь замените файл:

sudo swapoff /swapfile

Следующий шаг — удалить соответствующую запись из файла /etc/fstab.

И в конце вы можете удалить файл, чтобы освободить место:

sudo rm /swapfile

Вы меняетесь?

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

Если вам есть что добавить по этой теме или у вас есть какие-либо сомнения, оставьте комментарий ниже.

Все права защищены. © Linux-Console.net • 2019-2024

Добавление области подкачки на Ubuntu 20.04

Добавление области подкачки на Ubuntu 20.04

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

​​[warning] Предупреждение. Хотя подкачка в целом рекомендуется для систем с использованием традиционных жестких дисков, ее использование с SSD-накопителями может со временем вызывать ухудшение работоспособности аппаратного обеспечения. В связи с этим мы не рекомендуем активировать подкачку при использовании услуг DigitalOcean или любого другого провайдера, применяющего SSD-накопители.

Что такое подкачка?

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

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

Шаг 1 — Проверка информации о подкачке в системе

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

Можно узнать, сконфигурирована ли в системе подкачка, введя:

Если после этой команды ничего не появляется, в системе сейчас нет области подкачки.

Можно убедиться в отсутствии активной подкачки при помощи утилиты free :

Output
total used free shared buff/cache available Mem: 981Mi 122Mi 647Mi 0.0Ki 211Mi 714Mi Swap: 0B 0B 0B

В строке ​​​Swap видно​​​, что в системе отсутствует активная подкачка.

Шаг 2 — Проверка свободного пространства в разделе жесткого диска

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

Output
Filesystem Size Used Avail Use% Mounted on udev 474M 0 474M 0% /dev tmpfs 99M 932K 98M 1% /run /dev/vda1 25G 1.4G 23G 7% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 3.9M 101M 4% /boot/efi /dev/loop0 55M 55M 0 100% /snap/core18/1705 /dev/loop1 69M 69M 0 100% /snap/lxd/14804 /dev/loop2 28M 28M 0 100% /snap/snapd/7264 tmpfs 99M 0 99M 0% /run/user/1000

В данном случае устройство с / в столбце ​​​​​​Mounted on​​​ — наш диск. В данном примере у нас достаточно места (использовано только 1,4 Гбайт). Ваше использование, вероятно, будет другим.

Хотя существует много мнений относительно правильного размера области подкачки, на самом деле он зависит от ваших личных предпочтений и требований приложений. Обычно можно начать с объема, равного объему оперативной памяти в системе, или в два раза большего. Еще одно полезное общее правило — любое превышение 4 Гбайт для области подкачки, скорее всего, не нужно, если вы используете ее только для резервирования оперативной памяти.

Шаг 3 — Создание файла подкачки

Теперь, когда известно свободное место на жестком диске, можно создать файл подкачки в нашей файловой системе. Мы добавим файл необходимого размера под названием swapfile в корневую ( / ) директорию.

Лучше всего создавать файл подкачки при помощи программы fallocate . Эта команда мгновенно создает файл указанного размера.

Поскольку на сервере в нашем случае 1 Гбайт оперативной памяти, в этом руководстве создадим файл размером 1 Гбайт. Скорректируйте с учетом необходимости на вашем сервере:

Чтобы проверить правильность выделенного объема памяти, введите:

Файл создан с правильным выделенным объемом памяти.

Шаг 4 — Активация файла подкачки

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

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

Чтобы передать все права доступа пользователям root, введите:

Проверьте изменение прав доступа, введя следующее:

Output
-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile

Теперь только у пользователя с правами root отмечены флажки чтения и записи.

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

Output
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf

После этого мы можем активировать файл подкачки, чтобы система могла его использовать:

Убедитесь, что пространство подкачки активировано, введя следующее:

Output
NAME TYPE SIZE USED PRIO /swapfile file 1024M 0B -2

Чтобы подтвердить наши выводы, можем снова проверить ответ утилиты free :

Output
total used free shared buff/cache available Mem: 981Mi 123Mi 644Mi 0.0Ki 213Mi 714Mi Swap: 1.0Gi 0B 1.0Gi

Подкачка успешно настроена, и операционная система начнет использовать ее по мере необходимости.

Шаг 5 — Сделать файл подкачки постоянным

В результате внесенных нами изменений файл подкачки активирован для текущей сессии. После перезагрузки сервер не сохранит настройки подкачки автоматически. Мы можем изменить это, добавив файл подкачки к файлу /etc/fstab .

Сделайте резервную копию файла /etc/fstab на случай если что-то пойдет не так:

Добавьте информацию о файле подкачки в конец файла /etc/fstab , введя следующее:

Далее рассмотрим некоторые настройки, которые мы сможем обновить, чтобы настроить пространство подкачки.

Шаг 6 — Изменение настроек подкачки

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

Настройка параметра Swappiness

Параметр swappiness определяет, как часто система выгружает данные из оперативной памяти в пространство подкачки. Его значение выражается числом от 0 до 100 процентов.

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

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

Можем увидеть текущее значение фактора swappiness, введя следующее:

Output
60

Для настольного компьютера неплохое значение swappiness — 60. Для сервера, возможно, вы захотите приблизить его к 0.

Можно задать другое значение swappiness при помощи команды sysctl .

Например, чтобы установить значение swappiness 10, можно ввести следующее:

Output
vm.swappiness = 10

Эта настройка будет сохраняться до следующей перезагрузки. Можно автоматически задать это значение при перезагрузке, добавив строку в файл /etc/sysctl.conf :

Внизу можно ввести следующее:

/etc/sysctl.conf

vm.swappiness=10 

Сохраните файл и закройте его после завершения.

Изменение настроек нагрузки кэш-памяти

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

По сути, это данные доступа к файловой системе. Как правило, искать их довольно сложно, а запрашиваются они часто, так что кэш-память в этом случае весьма полезна. Чтобы узнать текущее значение этого параметра, можно еще раз запросить файловую систему proc :

Output
100

Согласно текущим настройкам, система удаляет данные инодов из кэша слишком быстро. Можно задать более консервативное значение, например 50, введя следующее:

Output
vm.vfs_cache_pressure = 50

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

Внизу добавьте строку с новым значением:

/etc/sysctl.conf

vm.vfs_cache_pressure=50 

Сохраните и закройте файл после завершения.

Заключение

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

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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Добавить комментарий

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