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

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

Источник

Какого размера делать swap-раздел при установке Linux

Содержание статьи

  • Какого размера делать swap-раздел при установке Linux
  • Как установить Linux без ошибок и проблем
  • Как в Linux разбить разделы

Что такое swap-раздел и для чего он нужен

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

В такие моменты Linux начинает использовать swap-раздел на жестком диске в качестве оперативной памяти, “увеличивая” ее доступный объем — перемещает на него из оперативной памяти неиспользуемые в данный момент данные, освобождая место для новых.

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

Читайте также:  Windows не находит новое оборудование

Таким образом, swap-раздел не подходит для постоянного использования в качестве оперативной памяти, но он может сильно помочь в пиковые моменты, предотвратив “зависание” и остановку работы программ.

Так сколько же места выделять для swap-раздела?

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

если объем RAM меньше 2 гигабайт, то swap-раздел должен быть минимум в два раза больше

если объем RAM больше 2 гигабайт, то размер swap-раздела должен равняться RAM * 2 + 2Гб

если объем RAM больше 4 гигабайт, то размер swap-раздела должен равняться 20% от размера оперативной памяти

Источник

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

Всех приветствую! Подскажите, на ssd в 120 gb какой размер свапа указывать для kubuntu 17.04? И сколько выделить для раздела /home, а сколько для системного раздела?

Подскажите, на ssd в 120 gb какой размер свапа указывать для kubuntu 17.04?

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

И сколько выделить для раздела /home, а сколько для системного раздела?

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

Используй файл подкачики размером в 2ГБ. Рекомендовано космонавтом

о, круто! это настраивается в процессе установки?

При 16 ГБ можно не использовать свап вообще. У меня вот его нет.

Для системного раздела — гигов 20–25. Будет занято меньше, и вообще зависит от того, чем ты занимаешься, и соответственно, сколько всего понаставишь, например хаскелл со всеми либами очень даже прилично весит, или может ты наставишь все свободные игры, какие есть (тот же хонотик и иже с ним какой-никакой объём имеют). Если не особо жалко, можно и 30 отвалить, чтоб уж точно хватило. Оставшееся место, соответственно, под /home.

понял, спасибо. Вообще, сверхзадача только одна — Android Studio. В остальном, всё как обычно — сёрфинг по сети да киношку посмотреть.

Вообще, сверхзадача только одна — Android Studio.

Тогда забей на свап вообще. 16ГиБ это вполне прилично даже для такой задачи как лепка статуй андроида из Явы.

Когда-то было такая рекомендация: если планируете использовать hybernate — то swap size = (1-2) x InstalledRAM Gb

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

настроить zram свап, 2-4 гигабайта «за глаза и за уши»

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

Если не планируешь suspend to disk и нет юзкейсов, предполагающих забивание ОЗУ под завязку, то никакой. Если swap вдруг понадобится и zram не поможет, всегда можно создать swap-файл нужного размера.

И сколько выделить для раздела /home, а сколько для системного раздела?

Не нужно разделять эти разделы.

У меня 0, рекомендую.

Наркоман? В идеале они вообще не должны находиться на одном физическом носителе.

Для компиляции и сборки LivreOffice 5.3.4 на FreeBSD 11.1 при 11,5 GB RAM свап не нужен, хотя есть tmpfs под /tmp. Не знаю, выдержит ли Linux такую осаду конфу.

11,5 GB RAM
выдержит ли Linux такую конфу.

А чего не выдержит? Думаешь скажет в шоке, что для упоротых есть FreeBSD?

И сколько выделить для раздела /home, а сколько для системного раздела?

На одном диске не нужно делить пространство на разделы. Тем более, Ext4 не умеет делать снимки и dump/restore занятого пространства для бэкапа/восстановления (как это умеет делать UFS2 и ZFS на FreeBSD). Не нужно хернёй страдать — она только отнимет время и нервы.

А какой смысл их делить? Если речь тем более про десктоп идет, как я понимаю. Это в прошлом веке, делили разделы, ибо софт был сырой и фс иногда валились с потерей данных. Сейчас то зачем?

Согласен с анонимусом. На разных носителях должны быть бэкапы. А куда то разносить хомяк с системой — это баловство.

16 ГБ оперативной памяти, 128 на ssd. Своп отключил. Разделы не делил. Гибернацию не использую, т.к. просто не выключаю компьютер.

В идеале они вообще не должны находиться на одном физическом носителе.

Ага, и для каждого каталога в корне нужен свой носитель. Пережиток прошлого.

/home у всех почему-то ассоциируется с местом хранения каталогов типа Downloads, Video, Pictures, Documents. Это всё должно быть где-нибудь в /data. Вот эту директорию уже есть смысл выносить на отдельный раздел в некоторых случаях. Но в случае ТС это оправдано, только если он собрался часто переустанавливать систему. Возможно, конечно, что у ТС есть ещё какие-то внутренние носители, наличие которых повлияет на целесообразность той или иной схемы разметки, но он о них не написал.

Затем, что если один диск внезапно гавкнется — второму будет насрать

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

/home у всех почему-то ассоциируется с местом хранения каталогов типа Downloads, Video, Pictures, Documents. Это всё должно быть где-нибудь в /data.

Кому должно? И если говорить о хомяке исключительно как о месте хранения пользовательских конфигов — то при обновлении дистрибутива, если у тебя не рач к прочий trolling-release, нужно либо всё бэкапить и потом разворачивать, либо настраивать весь свой софт с нуля. А учитывая, что у меня, например, ещё и часть софта стоит в

Читайте также:  Ноутбук не запускает загрузочную флешку windows 10

/.local — желания заниматься подобным онанизмом нет совсем.

совсем чтоб спать спокойно делай рейд

Ты цены на нормальные диски большого объёма видел, наркоман?

Я согласен с тем, что при 16 гигах своп скорее всего не понадобится. Но за одним исключением: если нужна гибернация, то своп необходим, и его размер должен быть БОЛЬШЕ объёма физической памяти, т. е. гигабайт 20 как минимум (больше потому, что на момент гибернации в этом свопе что-то может уже быть, и должно остаться минимум 16 гигов свободными). А делать своп меньше объёма оперативки я вообще не рекомендую, т. к. при падении ядра дамп пишется в своп при его наличии. Т. е. или 0, или > 16 гигов. Ну и на долговечность ssd наличие свопа тоже может повлиять не в лучшую сторону, на ssd же ограниченное число перезаписей, а своп может перезаписываться очень часто.

при обновлении дистрибутива, если у тебя не рач к прочий trolling-release, нужно либо всё бэкапить и потом разворачивать, либо настраивать весь свой софт с нуля

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

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

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

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

Либо 0, либо мегабайт 450.

А какой смысл их делить? Если речь тем более про десктоп идет, как я понимаю

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

Здравый смысл — это максимально возможная изоляция любых пользовательских данных от системных.

Потому, что обновление дистрибутивов с стандартной моделью релизов (то есть не rolling) — это, как правило, установка системы с нуля. И если у тебя есть желание трахаться с конфигами при обновлении убунты или федоры, то у меня его не особо много.

/ 20 /home 100 swap 0

Выше как обычно по большей части муйня мимо сути написана. Если памяти свободной всегда много и не использовать suspend-to-disk, то можно обойтись без свапа. Если всё ещё хватает но по большей части занята неактивными данными/кодом, то заводить свап размером этих неактивных данных/кода. Если активный rss используемых программ начинает залазить в своп, то только докупать память и не запускать ничего кроме самого критически нужного. Всё остальное чушь, это в венде от недостаточного размера своп+память софту лимит какой-то стоит или не хватает адресного пространства и программы валятся/не запускаются.

у меня на ноуте 512МБ.

Здравый смысл — это максимально возможная изоляция любых пользовательских данных от системных.

Поэтому нужно отделять данные, используемые системой, от данных, используемых человеком.

Потому, что обновление дистрибутивов с стандартной моделью релизов (то есть не rolling) — это, как правило, установка системы с нуля.

Какие ваши доказательства? Я вот не думаю, что большинство действительно будет переустанавливать систему при каждом значительном обновлении.

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

Не слушай тех, кто советует не использовать своп совсем: ядро не рассчитано на это by design, и при внезапном заполнении 16 гб начнутся ужасные вещи, которых можно избежать если иметь хотя бы небольшой своп, пусть даже в виде zram

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

при внезапном заполнении 16 гб начнутся ужасные вещи

И какие же? Вообще сам факт внезапного заполнения 16гб у пользователя, спрашивающего о размере свопа — это уже ужасная вещь. Своп тут не при чем. PS. Своп не выделяю с 199х годов. Ни разу не пожалел.

Кроме того, что система будет буквально стоять колом некоторое время до тех пор пока не сработает oom-killer (к счастью, можно это ускорить с помощью Alt-SysRq), может перестать работать какой-нибудь драйвер, скажем wi-fi, так как kmalloc не смог выделить достаточный кусок непрерывной памяти

Кроме того, что система будет буквально стоять колом некоторое время до тех пор пока не сработает oom-killer

Здесь же на форуме гораздо чаще можно увидеть, как люди жалуются, что у них система встает колом при своппинге. Своп по любому не решает проблем недостатка памяти. Он просто заменяет одни жуткие тормоза на другие. ТС, задающий вопрос «сколько выделить под своп», однозначно не будет компилировать пузатые проекты или работать с подобными бд. При 16гб своп такому юзеру не понадобится _никогда_. А если даже он когда-нибудь дозреет до емких задач, то ему надо будет докупить памяти, но ни в коем случае не связываться со свопом.

Гиг или два за глаза. Система будет выгружать туда неиспользуемый код и данные. И под системный кэш в памяти места больше будет.

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

Здесь же на форуме гораздо чаще можно увидеть, как люди жалуются, что у них система встает колом при своппинге.

Источник

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