Я собираюсь установить 64-битную версию 14.04 на новую машину с объемом от 1 до 128 ГБ ОЗУ и еще больше ОЗУ позже. Сколько места я должен выделить под раздел подкачки?
И особенно: ПОЧЕМУ эти рекомендации для этих номеров?
(Ни один из существующих ответов здесь и здесь не объясняет почему и немного устарел, если мы посмотрим на 1 ГБ или ОЗУ и выше)
partitioning
swap
Тим
источник
источник
Ответы:
Краткий ответ:
Установите свой файл подкачки на:
round(sqrt(RAM))
если вы не используете спящий режимRAM+round(sqrt(RAM))
если вы используете спящий режимУстановите
swappiness
10 на рабочем столе, но не на сервере!Длинный ответ:
В прошлом:
Эмпирическое правило, используемое в течение последних 25 лет, было минимум 1xRAM и максимум 2xRAM, так что это то, что вы будете видеть в кавычках все время.
Этот минимум был заложен еще в каменном веке,
когда я был подростком, и динозавры все еще бродили по Земле, ипотому что ОЗУ было слишком дорого, и вам совершенно необходимо было это пространство подкачки, чтобы иметь возможность что-либо сделать.Максимум был установлен в то время из-за уменьшения отдачи: слишком медленно менять объем памяти, поскольку доступ к жестким дискам в 1000 раз медленнее, чем объем оперативной памяти: хорошо в чрезвычайной ситуации, но не очень хорошо для повседневного использования! В то время, когда вам не хватило места подкачки, пришло время добавить больше оперативной памяти! (что все еще верно сегодня).
В настоящее время:
Если вы не используете режим гибернации, а объем вашей памяти превышает 1 ГБ, новое практическое правило - это,
round(sqrt(RAM))
гдеRAM
, очевидно, размер вашей оперативной памяти в ГБ иsqrt
квадратный корень. :-)Если вы используете спящий режим, вам нужно иметь возможность поменять весь объем ОЗУ + уже перезаписанный ОЗУ на диск, поэтому формула будет выглядеть так:
RAM+round(sqrt(RAM))
Правило уменьшения отдачи остается в силе и сегодня для максимума, но если вы не протестируете свое фактическое использование, использование 2xRAM - это просто трата дискового пространства , поэтому не используйте максимум, если у вас не заканчивается пространство подкачки с использованием других методологий .
Все это вместе дает следующую таблицу: (последние 3 столбца обозначают пространство подкачки)
Выше это просто правило большого пальца; это не закон гравитации!
Вы можете нарушить это правило (в отличие от закона гравитации), если ваш конкретный вариант использования отличается!
Совет для профессионалов: всегда размещайте SWAP в начале жесткого диска, так как головки должны меньше перемещаться внутри диска.
Да: на SSD больше не имеет значения, где вы располагаете область подкачки, поскольку они используют квантовое туннелирование вместо движущихся головок, а современные SSD используют все свои ячейки памяти (даже нераспределенное пространство) для предотвращения квантовой деградации.
Как проверить, отличается ли ваше использование подкачки от «общего» правила:
Просто выполните:
который выдаст вам список всех запущенных программ, которые поменялись местами (одна из них использует больше всего пространства подкачки сверху)
Если вы используете больше, чем несколько КБ: измените размер больше, чем минимум, в противном случае, не беспокойтесь ...
Если вы на сервере, прекратите читать сейчас: все готово!
Если вы используете клиент для настольного компьютера / ноутбука (не сервер), вы хотите, чтобы ваш графический интерфейс был максимально отзывчивым и переключался только тогда, когда это действительно необходимо . Ubuntu был оптимизирован для ранней замены для использования на сервере, но на вашем клиенте вы хотите, чтобы редактирование этого огромного необработанного изображения в 250 мегапикселей
gimp
было быстрым , поэтому установка значенияswappiness
10 предотвратит преждевременную замену ядра, гарантируя, что это не так. поменять слишком поздно:Если у вас есть
sysctl.conf
файл,ИЛИ
Если у вас есть
sysctl.d
каталог, но нетsysctl.conf
файла, создайте новый файл:и в обоих случаях добавить:
в конец файла сохраните файл ( Ctrl+ XY+ Enterв nano) и выполните:
перезагрузить параметр или воспользоваться подходом Window $ и перезагрузиться ... :-)
источник
Необходимость обмена
Своп полезен по 3 причинам:
Удаление беспорядка из RAM. Из статьи на kernel.org:
Другими словами, данные, хранящиеся в ОЗУ, могут быть полезны только тогда, когда процесс запущен (например, процесс запуска), а затем просто находится там в ОЗУ, загромождая пространство, которое можно использовать для лучших целей.
Это увеличивает объем памяти, который могут использовать процессы. Это хорошо понято. Вы не хотите, чтобы система исчерпала память и зависала из-за ее отсутствия. По этой конкретной причине, своп должен существовать, выступая в качестве защитной функции.
Спящий режим: при переходе компьютера в спящий режим содержимое оперативной памяти отправляется на диск.
Сумма обмена
Зная цель подкачки и в зависимости от объема оперативной памяти вашей машины, вы можете выбрать размер подкачки, соответствующий вашим целям. Нет конкретных указаний, есть только практические правила, которые вы можете использовать, чтобы адаптировать размер свопа к вашей системе .
Например, linux.com рекомендует:
Из личного опыта вот что я бы сделал:
Учитывая, что машина с 1–2 ГБ не нуждается в спящем режиме и для случайного использования, у вас может быть от 1 до 2 ГБ пространства подкачки. Мой компьютер с 14.04 Ubuntu имеет 1 ГБ оперативной памяти и 2 ГБ подкачки. Сумма подкачки никогда не пересекает границу 800 МБ, и я использую свой компьютер только для работы в Интернете и написания сценариев.
Если у вас компьютер объемом более 2 ГБ, и вам не нужно переходить в спящий режим, вы можете сохранить объем подкачки от 512 МБ до 1 ГБ. У меня есть ноутбук с 15.04, который я никогда не впадаю в спящий режим и который имеет файл подкачки ( не раздел ) 512 МБ. Объем оперативной памяти составляет 6 ГБ, но не превышает 2-3 ГБ. Опять же: случайное использование.
Космоскалибур и Фабби уже обратились к свопу на случай, если вам понадобится спящий режим, поэтому я не буду вдаваться в подробности. Мое скромное мнение таково:
Если вы планируете переходить в режим гибернации, содержимое оперативной памяти необходимо будет заменить, поэтому он должен иметь размер, по крайней мере, такой же, как и объем оперативной памяти.
источник