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


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


249
2018-06-16 18:52


Источник


чтобы быть абсолютно честным здесь ... вам даже не нужен SWAP, у вас уже есть 16 ГБ ОЗУ, если вы серьезно не подумаете, что когда-нибудь выйдете из ОЗУ, вам это не понадобится. - Uri Herrera
Это «эмпирическое правило» возникло в то время, когда большинство компьютеров имели ОЗУ в одноразрядных мегабайтах. Это не имело смысла в течение 10 лет, но это просто ... не ... умрет! - Nicholas Knight
@TheX: может быть, в некоторые годы, когда люди видят ваш комментарий, они будут смеяться :) - Benoit
Хотя два вопроса похожи, у другого нет упоминания о спячке ... - Ashu
на самом деле я понял, что это не так плохо, своп = RAM, а не swap = 2 x RAM - icc97


Ответы:


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

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

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

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


171
2018-06-16 21:33



Можете ли вы объяснить, почему он отказался от нулевого обмена? Другие, похоже, согласны с тем, что в этом нет необходимости, если я не хочу спячки (чего у меня нет). - Tamás Szelei
@popey - Итак, что тогда, если в системе заканчивается своп? Вернемся к квадрату, там. - Michael Kjörling
Имея систему с 8 ГБ ОЗУ, я могу сказать следующее: в любой момент, когда у меня была программа, убегающая и окунающаяся в swap, моя система будет в основном не отвечать на запросы. Лучше разрешить убийце OOM, чем в любом случае вынуждать нечистую перезагрузку; если у вас столько RAM, если вы не делаете очень тяжелая работа, которая требует гигабайт оперативной памяти, все будет хорошо. Даже когда у вас тяжелый подъем, обычно есть способ его обработки, который не требует пространства подкачки (что менее эффективно, чем нормальная обработка больших массивов данных в самом приложении). - Michael Trausch
Пространство может быть дешевым на жестких дисках, но на твердотельных накопителях это вряд ли дешево; не так дорого, как DAM, но все же. - Mircea Chirea
Если ваши системы используют обмен на 31 ГБ, и вы необходимость последний GB, они, вероятно, будут очень sloooow. ИМХО, если вам постоянно требуется замена более 2 ГБ, вы должны установить больше ОЗУ. - Martin Schröder


Вот хорошая рекомендация 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 

221
2018-06-16 22:22



Квадратный корень из ОЗУ в ГБ, округленный до двух. - starblue
В «новой» таблице есть несоответствия - согласно руководству 16 ГБ пространства подкачки подходят для 32-гигабайтной системы, но 4 ГБ подходят для системы с 64 ГБ ... - Charlie
@Charlie Это потому, что вы вряд ли закончите рабочую память с 64-Гбайт RAM. - poepje
@Charlie. Речь идет не о количестве системной памяти, а о вероятности выхода из системной памяти и о том, насколько большой недостаток будет. - Phill Healey


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

Во-первых, хорошей точкой отсчета является Часто задаваемые вопросы по Ubuntu

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

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

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

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

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


51
2018-06-08 14:08



Повысьте ссылку на часто задаваемые вопросы, а также ознакомьтесь с некоторыми здравомыслием среди мнений и анекдотических данных. - Marty Fried
Дело в том, что таких больших программ пока нет, а ваша ссылка прямо противоположна этому. Видеть это help.ubuntu.com/community/SwapFaq#How_much_swap_do_I_need.3F - Anwar
Чтобы освободить память от дополнительной нагрузки, я бы предпочел zRAM и swappiness = 60, а не традиционную замену жесткого диска. - Barafu Albino


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


24
2018-06-16 18:56



У меня вообще нет свопа и я могу спячки / приостановить мой ноутбук. - scribu
@scribu это звучит интересно. Я подозреваю, что, возможно, есть файл подкачки, потому что для полного отключения вашего ноутбука (то есть отсоедините и извлеките аккумулятор) содержимое ОЗУ должно быть сохранено - bandi
Вполне возможно спящий режим с 16 ГБ оперативной памяти и 4 ГБ свопа: вам просто нужно использовать менее 4 ГБ, когда вы переходите в спящий режим. - psusi


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

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

В основном, в 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 цента.


12
2018-02-13 06:50



Человек, которого я люблю, как вы его объяснили, и испытал это ... Это замечательный ответ - aidonsnous


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


8
2018-06-16 18:58





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

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


5
2018-05-13 02:00



Я помню, как однажды это использовалось, когда я использовал Wubi и я спящий. - Vladashram
Если вы используете спящий режим, это может быть хорошей причиной для того, чтобы иметь достаточное пространство подкачки для сохранения состояния машины. Я бы предположил, что вам не понадобится больше, чем объем доступной памяти, если вы, возможно, не используете достаточно времени для использования пространства подкачки. - Marty Fried


Если вы используете спящий режим, безопасно иметь такую ​​же сумму, как и объем оперативной памяти.

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

https://help.ubuntu.com/community/SwapFaq

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


3
2018-05-13 04:19





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

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


2
2018-05-13 02:00





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


2
2018-05-13 04:17