Рекомендуемый размер swap linux

Какого размера должен быть файл подкачки страниц или раздел Swap?

Согласно старому правилу ваш файл подкачки страниц или раздел swap должен быть «вдвое или в 1,5 раза больше размера оперативной памяти». Но в случае, если у вас 16 Гб оперативной памяти, вам действительно нужен файл подкачки страниц или раздел swap размером в 32 Гб?

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

Назначение файла подкачки страниц или раздела swap

Во-первых, давайте вспомним о действительном назначении файла подкачки страниц в Windows или раздела swap в Linux. В обоих случаях вашему компьютеру предоставляется дополнительная рабочая память. Например, если у вашего компьютера есть 2 Гб оперативной памяти и вы открываете большое количество программ или файлов, компьютеру, возможно, потребуется в рабочей памяти хранить 3 Гб данных. Компьютер запоминает этот дополнительный 1 Гб данных в файле подкачки страниц или разделе swap. Файл подкачки страниц или раздел swap выступают в качестве области «переполнения», в которой находятся такие дополнительные данные. Ваш компьютер автоматически передает эти данные обратно в оперативную память, когда они должны использоваться, и перемещает эти данные в файл подкачки страниц или раздел swap в случае, когда эти данные не используются.

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

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

Другое использование файла подкачки страниц и раздела swap

В системах Windows и Linux файл подкачки страниц и пространство swap также используются для других целей:

  • Аварийный дамп Windows: В Windows файл подкачки страниц используется для сохранения аварийных дампов. Чтобы создать полный дамп памяти, файл подкачки должен быть размером не меньше размера физической памяти + 1 МБ. Для дампов памяти ядра, файл подкачки страниц должен иметь размер не менее 800 Мб на системах с оперативной памятью размером 8 Гб или больше. Большинству людей не нужен полный дамп памяти, но дамп ядра может оказаться полезным. Необходимые 800 Мб файла подкачки сравнительно небольшие, но от вас потребуется его включить и не отключать. Эта информация взята из поста Understanding Crash Dumps (Что такое аварийный дамп) на сайте Microsoft TechNet.
  • Режим сна в Linux (hibernate): В системах Linux режим hibernate — это состояние, когда при отключении системы содержимое оперативной памяти вашей системы сохраняется на диске для того, чтобы его можно было снова загрузить при загрузке системы. Содержимое оперативной памяти системы сохраняется в разделе swap. Этот также может называться как «приостановка работы с сохранением состояния на диске». Возможно, вы решите, что для того, чтобы использовать режим, вам нужен раздел swap такого же размера, как размер оперативной памяти, но, на самом деле, вам просто нужен раздел swap такого размера, сколько оперативной памяти вы используете. Так что если вы регулярно используете только 4 Гб вашей оперативной памяти размером 16 Гб, вам для режима hibernate было бы достаточно раздела swap размером в 4 Гб. Но если вы используете более 4 Гб оперативной памяти, вы сможете воспользоваться режимом hibernate. Часто будет надежным выбрать раздел swap, равный по размеру вашей оперативной памяти. Обратите внимание, что это касается только режима hibernate — если вы не планируете его использовать, вам не нужно об этом беспокоиться. В Windows в режиме hibernate данные сохраняются в файле C:\hiberfil.sys, поэтому в случае использования режима hibernate в Windows файл подкачки страниц не используется.

Конкретный вопрос: Сколько оперативной памяти вы используете?

Нет единого строгого и быстро применяемого правила, которое бы показало вам, какого размера вам нужен файл подкачки страниц или раздел swap. Ответ зависит от того, что вы делаете на вашем компьютере и сколько памяти вы используете. Например, если у вас есть 8 Гб памяти, но вы никогда не используете больше, чем 8 Гб, вы могли бы вообще обойтись без использования страниц подкачки или раздела swap — но, скорее всего, вам, в конечном итоге, потребуется файл или раздел размером более 8 Гб. С другой стороны, у вас, возможно, есть компьютер с 64 Гб памяти и он может регулярно работать с наборами данных размером в 100 Гб. Тогда вам, вероятно, захочется иметь на всякий случай файл подкачки размером по крайней мере в 64 Гб. Так для компьютера с 8 Гб оперативной памяти может не потребоваться файл подкачки, а компьютеру с 64 Гб оперативной памяти, возможно, потребуется огромный файл подкачки. Все зависит от того, что делает компьютер.

Читайте также:  Эмуляция диска для windows 10

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

Windows может управлять этим автоматически

В Windows файлом подкачки страниц является файл C:\pagefile.sys. По умолчанию Windows автоматически управляет размером этого файла. Сначала он маленький и он может расти ву случае, если это вам нужно. Мы рекомендуем разрешись системе Windows самостоятельно управлять размером файла подкачки страниц. Файл не должен занимать много места на системном диске. Если ваш файл подкачки страниц занимает на системном диске действительно много места, то это потому, что в прошлом вам потребовался большой файл подкачки, и система для вас автоматически увеличила его размер.

Например, в Windows 8.1, имеющей 4 Гб оперативной памяти, наш файл подкачки страниц имеет в настоящее время размер только 1,8 ГБ. Нам не нужно использовать всю оперативную память и Windows до тех пор, пока нам не потребуется больше памяти, использует небольшой файл подкачки страниц.

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

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

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

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

В Linux необходимо принимать решение

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

В каждом дистрибутиве Linux используется свой собственный инсталлятор, и каждый дистрибутив следует определенной логике, заложенной в его инсталляторе, согласно которой автоматически делается выбор подходящего размера для раздела swap. Для того, чтобы принять решение о размере раздела swap, в дистрибутивах Linux обычно использует размер оперативной памяти. Когда устанавливается система Ubuntu, типичный размер раздела swap оказывается равен размеру оперативной памяти плюс дополнительно пол гигабайта или что-то около этого. Это гарантирует, что режим сна hibernate будет работать должным образом.

Если вы в инсталляторе Linux вручную задаете размеры разделов, то размер оперативной памяти плюс 0,5 ГБ является хорошим правилом, которое действительно позволит вам использовать в системе режим hibernate. Этого, как правило, должно быть более чем достаточно для режима подкачки. Если у вас есть оперативная память большого объема, например, 16 Гб или что-то подобное, и вам не требуется режим hibernate, но нужно дисковое пространство, вы могли бы, вероятно, обойтись небольшим разделом swap объемом в 2 Гб. Опять же, это зависит от того, сколько памяти компьютера будет использоваться. Но на всякий случай хорошо иметь пространство подкачки некоторого размера.

Старое правило «удвоенный размер оперативной памяти» применяется к компьютерам с 1 или 2 Гб оперативной памяти. О том, какого размера вам потребуется файл подкачки страниц или раздел swap, единого для всех ответа нет. Все зависит от программ, которыми вы пользуетесь, и от того, что этим программам требуется. Если у вас есть сомнения в этом вопросе, то почти всегда будет хорошим решением придерживаться правила, используемому в вашей системе по умолчанию.

Читайте также:  Local policy windows server

Источник

Файл подкачки 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, можете воспользоваться оператором, цифра в конце которого и будет новым значением:

Читайте также:  Не переключаются раскладки windows

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 на вашем компьютере или ноутбуке, его настройке, созданию или даже удалению. Если в результате у вас останутся какие-то вопросы, предложения или замечания, можете задать их нам, воспользовавшись формой комментирования ниже.

Нет похожих записей

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

Об авторе

14 комментариев

>> В последних версиях операционной системы 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 в соответствии с нуждами. Но сам по себе своппинг, тоже по сути зло. В момент доступа к диску все равно наблюдались микрофризы, хотя своп находится на ссд. Решением стала настройка и уменьшение дискового кэша. Конечно, это имеет и свою отрицательную сторону, но тут, как говорится, из двух зол выбирай меньшее.

Источник

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