Я читал много мест, что эмпирическое правило для области подкачки состоит в удвоении объема физической памяти. Тем не менее, 32 ГБ, похоже, много. Нужно ли мне так много? Нужно ли мне это вообще с этим большим объемом физической памяти?
Я читал много мест, что эмпирическое правило для области подкачки состоит в удвоении объема физической памяти. Тем не менее, 32 ГБ, похоже, много. Нужно ли мне так много? Нужно ли мне это вообще с этим большим объемом физической памяти?
Все зависит от того, что вы планируете делать с машиной. Например, если это был Sap-сервер, тогда да, я бы добавил 32gb swap (у нас есть ящики при работе с 128-гигабайтным ram и 32gb swap). Если вы манипулировали массивными изображениями и видео, то имеет смысл немного поменять местами. 32gb, вероятно, перебор. Р>
Однако я бы не сказал нулевой обмен.
В маловероятном случае, когда вы исчерпали RAM - возможно, открыв большой файл, перехитрит длинную вкладку в firefox, это не имеет значения, в этом случае ваш убийца ядра OOM запустит и начнет убивать приложения, чтобы получить память назад. В этих условиях вполне возможно, что вы потеряете данные, поскольку приложения будут убиты. Однако, если у вас есть немного свопов, система будет продолжать, захватывая своп и позволяя системе продолжать работу. Система замедляется по мере того, как происходит тяжелая замена, вы замечаете и исследуете, прежде чем весь обмен будет исчерпан. Также диск очень дешев, так почему бы не обменять?
Любой, кто говорит «вам не нужен своп», не спрашивая вас, что вы на самом деле делаете с вашим компьютером, делает предположения. Хотя вы, возможно, очень мало работаете с компьютером, который ест оперативную память, все равно лучше задать вопросы о том, что вы планируете делать с ним, прежде чем делать опрометчивое решение, которое вам не нужно. По моему скромному мнению
Вот очень хорошая рекомендация от 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
Argh. Ответы на этот пост настолько ошибочны, и это является одним из первых результатов поиска в Google «Сколько стоит своп?»
Во-первых, хорошей точкой отсчета является FAQ по обмену Ubuntu
Этот FAQ делает важный момент, о котором здесь никто не упоминает, и это (внимание мое)
Иногда большая программа (например, OpenOffice, Neverwinter Nights или видеоредактор) заставляет всю систему нуждаться в дополнительной памяти. Значительное количество страниц, используемых этими большими программами во время его запуска, может использоваться только для инициализации, а затем никогда не используется снова. Система может обменивать эти страницы и освобождать память для других программ или даже для кеша диска . В этих случаях swap будет использоваться, чтобы помочь системе обрабатывать любую дополнительную нагрузку.
Итак, swap - это не только спящий режим! Это действие, заменяющее неиспользуемые страницы, может быть полезным в некоторых сценариях и вредно для других. Полезно, потому что он может освободить память для использования системой в других местах, но вредно, когда это происходит слишком агрессивно, и сворачивает страницы, которые вы действительно хотите. Это особенно актуально для настольной системы, где приложения могут долгое время сидеть без дела, но пользователь все еще ожидает немедленной производительности при возвращении к жизни. Контроль за тем, насколько он агрессивен, называется swappiness
Часто задаваемые вопросы по Ubuntu Swap обсуждают это в Что такое swappiness и как его изменить? значение по умолчанию для системы Ubuntu равно 60, в то время как в FAQ часто используется значение 10 для настольной машины.
Итак, я бы сказал, что вообще очень важно не иметь систему с абсолютно свободным пространством, как некоторые люди рекомендуют по этому вопросу, если вы не знаете наверняка очень конкретные сценарии использования для вашей системы и очень хорошо осведомлены о последствиях, которые она может иметь. (Лично, нет ситуации, когда я запускаю систему без свопинга). В сценарии «Без памяти» без свопа система начнет процессы убийства (как правило, те, которые вызвали OOM)
Наверное, нет. Если вы планируете спящий режим на вашем компьютере (приостановка на диск), вам потребуется не менее 16 ГБ. Если вы не спящий режим, достаточно разрешить несколько гигабайт для свопа (4-8 макс.)
Из опыта я могу сказать следующее:
Для того, что я видел с помощью 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 цента. Р>
Нет, вам не нужно 32 ГБ, если вы не используете такие функции, как приостановка на диск.
В большинстве случаев я бы сказал, что вам совсем не нужно. Возможно, если вы отредактируете очень большие файлы изображений или какое-нибудь другое приложение, которое требует большого количества бара, вам может понадобиться некоторое. Р>
Я никогда не видел никакого использования в моей системе, как и у вас. Фактически, в свое время я отключил его на неделю или две случайно и никогда не замечал никаких проблем. Но я все еще поддерживаю около 5 ГБ для моего диска подкачки, главным образом потому, что у меня есть более 1 ТБ, и я не использую все пространство как есть.
Если ваш баран выше 1 ГБ, его обычно достаточно для ubuntu. Правило «Swap = RAM x2» предназначено для старых компьютеров с 256 или 128 МБ оперативной памяти.
Таким образом, 1 Гбайт свопа обычно достаточно для 4 ГБ ОЗУ. 8 ГБ будет слишком много.
Если вы используете спящий режим, ваш своп должен иметь по крайней мере то же количество, что и ваш физический RAM.
Если вы используете спящий режим, безопасно иметь столько подкачки, сколько вашего ОЗУ.
Для общего правила о том, сколько нужно иметь swap, читайте здесь:
В вашем случае я бы сказал, что 4 ГБ будет достаточно, чтобы соответствовать вашей ОЗУ.
Вам нужна замена только в том случае, если вы хотите использовать спящий режим для остальных, это просто место на вашем жестком диске.
У меня есть ноутбук с 4 ГБ оперативной памяти и Ubuntu 16.04. После загрузки он потребляет около 1 ГБ ОЗУ, и даже тогда Inkscape (например) не будет работать (монитор системы показывает более 50% свободной памяти).
Inkscape замерзает
После того, как я применил файл подкачки, он работает, как ожидалось, даже без использования одного байта использования swap).
Поэтому я рекомендую раздел подкачки (или файл подкачки).
О его размере вы можете использовать правило david6.
Я думаю, ты понял это наоборот. рекомендации SWAP , вам понадобится ~ 16GB. Таким образом, SWAP должен составлять 1/2 от фактического размера RAM. Но все же это много места. Зависит от того, в чем вы нуждаетесь. Я бы сказал, если вы не используете «спящий режим», держите вокруг ~ 4 ГБ до ~ 8 ГБ, если вы можете позволить себе дисковое пространство. Поскольку у вас есть 16 ГБ, я предполагаю, что вы можете использовать компьютер, который нуждается в мощных ресурсах ... так что, возможно, было бы полезно иметь от 16 до 32 ГБ SWAP.
У меня 2GB RAM и 1GB SWAP. Я очень хорошо справляюсь с этим, но это только мое мнение. Посмотрите на другие комментарии / предложения и посмотрите, что они говорят. Р>
Я не мог найти ссылки на цитату здесь, но если вы собираетесь использовать приложение, в котором вам нужно поменять местами все данные в ОЗУ, вам по крайней мере потребуется размер оперативной памяти + 128 МБ или «1,25 раза от размера ОЗУ» '(я забыл, какой из них был прав), предполагая, что у вас есть RAM более 2 ГБ. Если оперативная память составляет 2 ГБ или меньше, рекомендуется иметь вдвое больший объем оперативной памяти в качестве swap. Я придерживался этой рекомендации в своей предыдущей организации для IBM AIX на основе документа IBM. Я считаю, что это справедливо для большинства * nix, поскольку использование swap позволяет безопасно перемещать данные из ОЗУ в случае, если ОЗУ недостаточно для обработки данных, которые будут загружены в память. Команда «free» может использоваться для оценки того, сколько swap используется в действительности.
У меня есть ноутбук Mac, который я оставляю в течение нескольких месяцев. Несмотря на то что намного лучше, чем Windows, память ползет, особенно с вашим браузером, если вы ее поддерживаете. Таким образом, память заполняется. Теперь, если у вас есть своп, как отмечали другие люди, вы можете выжить, заметить и убить что-то. Но, кстати, если у вас есть своп, некоторые страницы выгружаются, и вы можете продолжать идти.
Итак, если вы планируете долгое время покидать машину, своп - это удобный способ освободить память от мусора зомби. Конечно, вам потребуется больше времени, чтобы заполнить 16g, чем я, с 3gb, но это все равно приятно. Для этой цели будет работать 4Gb.
Если это ноутбук, то, сохраняя хотя бы своп, равный объему ОЗУ, полностью разрешить спящий режим. Я бы все равно сохранил сумму, равную объему ОЗУ, даже если на рабочем столе, но это только я; он будет мало полезен на рабочем столе.
Помните об этом -
Как правило, размер пространства подкачки должен составлять примерно до 2x основной памяти для систем с объемом памяти менее 2 ГБ или примерно 1 раз в основной памяти, если у вас больше
Итак, если у вас барабан 4 Gb, вам никогда не понадобится своп, если нет спящего режима
Требуется своп примерно 3 - 3,5 ГБ, не более .
Поэтому используйте свой здравый смысл и не тратьте дисковое пространство
Если вы создаете очень большие файлы, скажем, например, если вы строите системы машинного перевода на ноутбуке (да, хорошо, почему бы вам это сделать? Я могу сказать, что мои профессора меня делают ;-) ) ответ ясный да, на самом деле в данный момент я сожалею о том, что не делаю это с заменой 32 ГБ ....
Для случайного использования Ubuntu для работы в офисе и в Интернете нет, вы никогда не будете использовать даже 2 ГБ свопа, но на самом деле нет четкого ответа, все зависит от того, что вы собираетесь делать на своем компьютере. . р>
Слишком много информации и расхождение во мнениях.
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
Никто, кажется, не упомянул о другой причине, чтобы иметь значительное пространство подкачки, чтобы система заметно замедлялась, а не запускала программы по мере того, как вы теряете память. Если у вас есть балансировщик нагрузки впереди, который перенаправляется при сбое, вы можете захотеть сохранить swap small (скажем, 1 ГБ). Если вы хотите, чтобы программы сначала замедлялись, тогда я бы рассмотрел размер 4 ГБ + квадратный корень из памяти, и если вы хотите их чтобы действительно замедлить работу до того, как все умрет, а затем сохраните минимальный размер памяти в 1,25 раза (если нетерпеливые люди не сдаются первым - это будет более подходящим для фоновых заданий).
Я устанавливаю 1 ГБ для своих машин разработки и производства в качестве стандарта, тогда неважно, сколько или небольшой реальной памяти у них есть, у них достаточно, чтобы скомпилировать все программы, которые я хочу, и поменять практически никогда не используемые программы использовать освобожденную память для буферизации диска.
Для сравнения, у меня 64-гигабайтный своп на моем 32-гигабайтном ноутбуке, который немного перегружен, но я хотел убедиться, что он всегда работал, даже если он медленно, и я знал, что я буду запускать несколько голодных виртуальных головоломок машины. Неожиданный эффект - это когда у вас есть диапазон памяти 32 ГБ +, а затем возобновление спящего режима (которое перезагружает 32 ГБ памяти) заметно медленнее, чем холодная загрузка.