Нужно ли мне увеличивать SWAP-файл, если я обновляю свою RAM до 6 ГБ с 2 ГБ? [dубликат]

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

254
задан 13 April 2018 в 14:53

44 ответа

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

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

0
ответ дан 24 July 2018 в 19:48

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

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

2
ответ дан 24 July 2018 в 19:48

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

2
ответ дан 24 July 2018 в 19:48

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

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

0
ответ дан 24 July 2018 в 19:48

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

0
ответ дан 24 July 2018 в 19:48

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

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

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

0
ответ дан 24 July 2018 в 19:48

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

0
ответ дан 24 July 2018 в 19:48

Из SwapFaq Ubuntu:

Зачем мне нужен swap?

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

Программы для хранения памяти Функция спящего режима (suspend-to-disk) записывает содержимое ОЗУ перед разделением подкачки перед выключением машины. Следовательно, ваш раздел подкачки должен быть как минимум размером вашего RAM. Реализация hibernation, используемая в настоящее время в Ubuntu, swsusp, требует свопа или приостановить раздел. Он не может использовать файл подкачки в активной файловой системе.

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

Непредвиденные обстоятельства Поскольку механические жесткие диски значительно медленнее, чем RAM (SSD - твердотельный накопитель) - память не так медленна, как физические диски, но все же медленнее, чем RAM), когда вам нужен файл (будь то файл данных, такой как видео, исполняемые файлы, такие как Firefox или библиотеки), ядро ​​Linux читает файл в ОЗУ и держит его там, так что в следующий раз, когда он вам понадобится, он уже находится в ОЗУ, а доступ к данным намного быстрее. Части ОЗУ, которые ускоряют чтение диска, называются «кэшированной памятью». Вы заметите, что они имеют огромное значение с точки зрения быстроты реагирования. Ядро Linux автоматически перемещает оперативную память, зарезервированную программами, но не реально используемую, в swap, так что она может служить лучшей целью расширения кэшированной памяти.

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

Сколько мне требуется своп?

Для менее 1 ГБ физической памяти (ОЗУ) настоятельно рекомендуется, чтобы пространство подкачки в качестве базового минимума было равно объему ОЗУ. Кроме того, рекомендуется, чтобы пространство подкачки было в два раза больше объема оперативной памяти в зависимости от объема свободного места на диске для системы из-за уменьшения отдачи.

Для более современных систем (> 1 ГБ) ваш своп пространство должно быть как минимум равным размеру вашей физической памяти (ОЗУ) «если вы используете спящий режим», в противном случае вам потребуется минимум раунд (sqrt (RAM)) и максимум вдвое больше ОЗУ.

«Уменьшение возвращает» означает, что если вам нужно больше пространства подкачки, чем в два раза больше вашего размера оперативной памяти, то это будет меньше, чем вы на самом деле используете, это пространство на диске, которое вы зарезервируете для него. , вам лучше добавить больше оперативной памяти, так как доступ к жесткому диску (HDD) примерно на 10 м медленнее, чем доступ к RAM, поэтому что-то, что займет 1 секунду, внезапно занимает более 15 минут! И еще более минуты на быстром твердотельном накопителе (SSD) ...

Оптимизация производительности подкачки

RAM(GB) No hibernation With Hibernation Maximum 1 1 2 2 2 1 3 4 3 2 5 6 4 2 6 8 5 2 7 10 6 2 8 12 8 3 11 16 12 3 15 24 16 4 20 32 24 5 29 48 32 6 38 64 64 8 72 128 128 11 139 256
0
ответ дан 24 July 2018 в 19:48

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

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

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

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

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

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

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

12
ответ дан 24 July 2018 в 19:48
  • 1
    Человек, которого я люблю, как вы его объяснили, и испытал это ... Это замечательный ответ – aidonsnous 12 November 2017 в 21:37

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

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

5
ответ дан 24 July 2018 в 19:48
  • 1
    Я помню, как однажды это использовалось, когда я использовал Wubi и я спящий. – Vladashram 13 May 2012 в 07:05
  • 2
    Если вы используете спящий режим, это может быть хорошей причиной для того, чтобы иметь достаточное пространство подкачки для сохранения состояния машины. Я бы предположил, что вам не понадобится больше, чем объем доступной памяти, если вы, возможно, не используете достаточно времени для использования пространства подкачки. – Marty Fried 13 May 2012 в 07:16

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

1
ответ дан 24 July 2018 в 19:48
  • 1
    Для Hibernate требуется место подкачки, но не так, как размер оперативной памяти, только такой большой, как использование ОЗУ в момент спящего режима. Сон не требует обмена, поскольку ОЗУ все еще активна и удерживает данные. – Donny Kurnia 17 June 2011 в 09:11
  • 2
    @Donny Kurnia спасибо, я не знал этого. Но мой ноутбук любит использовать swap, когда он ложится спать. Я смотрю, могу ли я его отредактировать. – Rens 17 June 2011 в 11:14
  • 3
    вы можете сделать эксперимент, отключив swap sudo swapoff -a, затем спящий ноутбук. – Donny Kurnia 20 June 2011 в 12:56
  • 4
    @Donny Kurnia Я сделал это, и сон все еще работает. – Rens 20 June 2011 в 20:11

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

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

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

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

3
ответ дан 24 July 2018 в 19:48

Нет, вам определенно не нужно 32 ГБ. Как правило, для настольной системы я бы сказал, что ваш обмен должен быть где-то между 4 ГБ и физической ОЗУ + паролем GB. Таким образом, для 16 ГБ физической оперативной памяти обмен может быть от 4 до 18 ГБ, возможно.

. Вам нужно будет поменять местами подкачки примерно равным объему физической ОЗУ, используемому приложениями, которые остаются резидентами - это это системные службы и приложения, которые продолжают работать, пока вы их используете (в отличие от задач, которые запускаются после этого, а затем завершаются). На настольной системе предположим, что вы можете оставить браузер, текстовый процессор, программу электронной почты и графику или видеоредактор, пока вы работаете над чем-то другим. Они могут легко занимать более 2 ГБ, возможно, более 4 ГБ. Так что, возможно, требуется 6 Гбайт свопа.

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

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

0
ответ дан 24 July 2018 в 19:48

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

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

0
ответ дан 24 July 2018 в 19:48

Другие вопросы по тегам:

Похожие вопросы: