У меня 16 ГБ оперативной памяти. Мне нужен обмен 32 ГБ?

232

Я читал много мест, что эмпирическое правило для области подкачки состоит в удвоении объема физической памяти. Тем не менее, 32 ГБ, похоже, много. Нужно ли мне так много? Нужно ли мне это вообще с этим большим объемом физической памяти?

    
задан Tamás Szelei 16.06.2011 в 20:52
источник

20 ответов

161

Все зависит от того, что вы планируете делать с машиной. Например, если это был Sap-сервер, тогда да, я бы добавил 32gb swap (у нас есть ящики при работе с 128-гигабайтным ram и 32gb swap). Если вы манипулировали массивными изображениями и видео, то имеет смысл немного поменять местами. 32gb, вероятно, перебор.

Однако я бы не сказал нулевой обмен.

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

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

    
ответ дан popey 16.06.2011 в 23:33
источник
209

Вот очень хорошая рекомендация от RedHat: Рекомендуемое пространство для замены системы

Выдержка из той же ссылки:

  

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

Текущая таблица (по состоянию на декабрь 2017 года):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            At least 4 GB                  1.5 times the amount of RAM
64GB of RAM or more           At least 4 GB                  Hibernation not recommended

Исходная таблица:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 
    
ответ дан ssapkota 17.06.2011 в 00:22
49

Argh. Ответы на этот пост настолько ошибочны, и это является одним из первых результатов поиска в Google «Сколько стоит своп?»

Во-первых, хорошей точкой отсчета является FAQ по обмену Ubuntu

Этот FAQ делает важный момент, о котором здесь никто не упоминает, и это (внимание мое)

  

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

Итак, swap - это не только спящий режим! Это действие, заменяющее неиспользуемые страницы, может быть полезным в некоторых сценариях и вредно для других. Полезно, потому что он может освободить память для использования системой в других местах, но вредно, когда это происходит слишком агрессивно, и сворачивает страницы, которые вы действительно хотите. Это особенно актуально для настольной системы, где приложения могут долгое время сидеть без дела, но пользователь все еще ожидает немедленной производительности при возвращении к жизни. Контроль за тем, насколько он агрессивен, называется swappiness

Часто задаваемые вопросы по Ubuntu Swap обсуждают это в Что такое swappiness и как его изменить? значение по умолчанию для системы Ubuntu равно 60, в то время как в FAQ часто используется значение 10 для настольной машины.

Итак, я бы сказал, что вообще очень важно не иметь систему с абсолютно свободным пространством, как некоторые люди рекомендуют по этому вопросу, если вы не знаете наверняка очень конкретные сценарии использования для вашей системы и очень хорошо осведомлены о последствиях, которые она может иметь. (Лично, нет ситуации, когда я запускаю систему без свопинга). В сценарии «Без памяти» без свопа система начнет процессы убийства (как правило, те, которые вызвали OOM)

    
ответ дан brent 08.06.2012 в 16:08
24

Наверное, нет. Если вы планируете спящий режим на вашем компьютере (приостановка на диск), вам потребуется не менее 16 ГБ. Если вы не спящий режим, достаточно разрешить несколько гигабайт для свопа (4-8 макс.)

    
ответ дан bandi 16.06.2011 в 20:56
12

Из опыта я могу сказать следующее:

Для того, что я видел с помощью 4 ГБ оперативной памяти в течение 3 лет, Ubuntu использует своп около 60 МБ, но только при выполнении очень интенсивных задач. Пару недель назад я начал использовать ПК с 16 ГБ оперативной памяти, а использование подкачки оставалось на уровне 0% навсегда. Я выполнил несколько компиляций, рендеринг видео и другие интенсивные задачи. Никогда не было изменений в свопе. Даже изменение 1 КБ.

В основном, в Ubuntu, чем больше памяти памяти у вас есть, тем меньше вероятность того, что вы будете использовать или нуждаетесь в свопинге для любой задачи. 16 ГБ оперативной памяти или даже 8 ГБ оперативной памяти более чем достаточно. Я сделал с 16 ГБ ПК 8 Virtualbox ПК (каждый от 1 до 2 ГБ оперативной памяти). Я скомпилировал и обработал видео с разрешением 720p, и даже в тех условиях не изменился обмен.

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

Другая деталь заключается в том, что некоторые приложения (не все) будут по-прежнему вынуждены считывать данные из свопа. Так что немного хорошо. Отключение его вообще очень плохо в случае, если вы доберетесь до нехватки памяти или OOM. На данный момент, если у вас нет свопа, ядро ​​не может меняться в разных вариантах использования приложений ram и в конечном итоге начинает убивать менее используемые.

Если это помогает при принятии решений для домашнего рабочего стола, после обновления этого ответа более чем за 4 года я использовал 16-гигабайтный, 32-гигабайтный и теперь 64-гигабайтный ПК. Тестирование с использованием только 128 Мбайт свопа показало, что мне не нужно было больше свопа, за исключением случаев, когда я хотел спящий режим. Я использовал облачные среды на них, lxc, virtualbox, wine, вы называете это. Я снял видео с помощью openhot, kazam, handbrake, смелость. Я использовал gimp, blender, Inkscape и даже полный комплект LibreOffice. Я даже играл в паре, и ни в одном из этих сценариев не использовался обмен. Конечно, в конечном итоге он будет использоваться, если вы в конечном итоге используете полный объем бара в той или иной форме, но в целом чем больше у вас барана, тем меньше вам потребуется своп.

Только мои 2 цента.     

ответ дан Luis Alvarado 13.02.2012 в 07:50
8

Нет, вам не нужно 32 ГБ, если вы не используете такие функции, как приостановка на диск.

    
ответ дан AlexTheBird 16.06.2011 в 20:58
5

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

Я никогда не видел никакого использования в моей системе, как и у вас. Фактически, в свое время я отключил его на неделю или две случайно и никогда не замечал никаких проблем. Но я все еще поддерживаю около 5 ГБ для моего диска подкачки, главным образом потому, что у меня есть более 1 ТБ, и я не использую все пространство как есть.

    
ответ дан Marty Fried 13.05.2012 в 04:00
2

Если ваш баран выше 1 ГБ, его обычно достаточно для ubuntu. Правило «Swap = RAM x2» предназначено для старых компьютеров с 256 или 128 МБ оперативной памяти.

Таким образом, 1 Гбайт свопа обычно достаточно для 4 ГБ ОЗУ. 8 ГБ будет слишком много.

    
ответ дан Emerson Hsieh 13.05.2012 в 04:00
2

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

    
ответ дан gemue2010 13.05.2012 в 06:17
2

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

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

Ссылка

В вашем случае я бы сказал, что 4 ГБ будет достаточно, чтобы соответствовать вашей ОЗУ.

    
ответ дан roadmr 13.05.2012 в 06:19
1

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

    
ответ дан Rens 16.06.2011 в 21:43
1

У меня есть ноутбук с 4 ГБ оперативной памяти и Ubuntu 16.04. После загрузки он потребляет около 1 ГБ ОЗУ, и даже тогда Inkscape (например) не будет работать (монитор системы показывает более 50% свободной памяти). Inkscape замерзает После того, как я применил файл подкачки, он работает, как ожидалось, даже без использования одного байта использования swap). Поэтому я рекомендую раздел подкачки (или файл подкачки). О его размере вы можете использовать правило david6.

    
ответ дан Danilo 24.06.2016 в 03:54
0

Я думаю, ты понял это наоборот. рекомендации SWAP , вам понадобится ~ 16GB. Таким образом, SWAP должен составлять 1/2 от фактического размера RAM. Но все же это много места. Зависит от того, в чем вы нуждаетесь. Я бы сказал, если вы не используете «спящий режим», держите вокруг ~ 4 ГБ до ~ 8 ГБ, если вы можете позволить себе дисковое пространство. Поскольку у вас есть 16 ГБ, я предполагаю, что вы можете использовать компьютер, который нуждается в мощных ресурсах ... так что, возможно, было бы полезно иметь от 16 до 32 ГБ SWAP.

У меня 2GB RAM и 1GB SWAP. Я очень хорошо справляюсь с этим, но это только мое мнение. Посмотрите на другие комментарии / предложения и посмотрите, что они говорят.     

ответ дан waynerod10 17.06.2011 в 09:56
0

Я не мог найти ссылки на цитату здесь, но если вы собираетесь использовать приложение, в котором вам нужно поменять местами все данные в ОЗУ, вам по крайней мере потребуется размер оперативной памяти + 128 МБ или «1,25 раза от размера ОЗУ» '(я забыл, какой из них был прав), предполагая, что у вас есть RAM более 2 ГБ. Если оперативная память составляет 2 ГБ или меньше, рекомендуется иметь вдвое больший объем оперативной памяти в качестве swap. Я придерживался этой рекомендации в своей предыдущей организации для IBM AIX на основе документа IBM. Я считаю, что это справедливо для большинства * nix, поскольку использование swap позволяет безопасно перемещать данные из ОЗУ в случае, если ОЗУ недостаточно для обработки данных, которые будут загружены в память. Команда «free» может использоваться для оценки того, сколько swap используется в действительности.

    
ответ дан Jamess 17.06.2011 в 14:10
0

У меня есть ноутбук Mac, который я оставляю в течение нескольких месяцев. Несмотря на то что намного лучше, чем Windows, память ползет, особенно с вашим браузером, если вы ее поддерживаете. Таким образом, память заполняется. Теперь, если у вас есть своп, как отмечали другие люди, вы можете выжить, заметить и убить что-то. Но, кстати, если у вас есть своп, некоторые страницы выгружаются, и вы можете продолжать идти.

Итак, если вы планируете долгое время покидать машину, своп - это удобный способ освободить память от мусора зомби. Конечно, вам потребуется больше времени, чтобы заполнить 16g, чем я, с 3gb, но это все равно приятно. Для этой цели будет работать 4Gb.

    
ответ дан Dov 17.06.2011 в 21:09
0

Если это ноутбук, то, сохраняя хотя бы своп, равный объему ОЗУ, полностью разрешить спящий режим. Я бы все равно сохранил сумму, равную объему ОЗУ, даже если на рабочем столе, но это только я; он будет мало полезен на рабочем столе.

    
ответ дан haziz 13.05.2012 в 05:36
0

Помните об этом -

  

Как правило, размер пространства подкачки должен составлять примерно до 2x основной памяти для систем с объемом памяти менее 2 ГБ или примерно 1 раз в основной памяти, если у вас больше

Итак, если у вас барабан 4 Gb, вам никогда не понадобится своп, если нет спящего режима Требуется своп примерно 3 - 3,5 ГБ, не более .
Поэтому используйте свой здравый смысл и не тратьте дисковое пространство

    
ответ дан Ashu 13.05.2012 в 06:41
0

Если вы создаете очень большие файлы, скажем, например, если вы строите системы машинного перевода на ноутбуке (да, хорошо, почему бы вам это сделать? Я могу сказать, что мои профессора меня делают ;-) ) ответ ясный да, на самом деле в данный момент я сожалею о том, что не делаю это с заменой 32 ГБ ....

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

ответ дан Hakim Jonas Ghoula 18.03.2013 в 10:35
0

Слишком много информации и расхождение во мнениях.

Рекомендуемые рекомендации Ubuntu :

 amount of RAM      recommended swap    with hibernation
----------------    ----------------    ----------------
 less than 4GB        2x RAM size         3x RAM size
   up to 8GB              4GB             2x RAM size
   up to 16GB             4GB            1.5x RAM size
  16GB or more            4GB           No extra needed
    
ответ дан david6 18.04.2014 в 03:05
0

Никто, кажется, не упомянул о другой причине, чтобы иметь значительное пространство подкачки, чтобы система заметно замедлялась, а не запускала программы по мере того, как вы теряете память. Если у вас есть балансировщик нагрузки впереди, который перенаправляется при сбое, вы можете захотеть сохранить swap small (скажем, 1 ГБ). Если вы хотите, чтобы программы сначала замедлялись, тогда я бы рассмотрел размер 4 ГБ + квадратный корень из памяти, и если вы хотите их чтобы действительно замедлить работу до того, как все умрет, а затем сохраните минимальный размер памяти в 1,25 раза (если нетерпеливые люди не сдаются первым - это будет более подходящим для фоновых заданий).

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

Для сравнения, у меня 64-гигабайтный своп на моем 32-гигабайтном ноутбуке, который немного перегружен, но я хотел убедиться, что он всегда работал, даже если он медленно, и я знал, что я буду запускать несколько голодных виртуальных головоломок машины. Неожиданный эффект - это когда у вас есть диапазон памяти 32 ГБ +, а затем возобновление спящего режима (которое перезагружает 32 ГБ памяти) заметно медленнее, чем холодная загрузка.

    
ответ дан iheggie 19.03.2017 в 17:19