Почему стандартная перестановка 60? Каков будет эффект, если я уменьшу значение подкачки для моего настольного ПК?

Я читал о подмене на разных форумах и видел несколько видео. Многие заявили, что для пользователей настольных систем полезно уменьшить значение подкачки ниже 60 (это значение по умолчанию). Некоторые заявили, что 60 хорошо для серверов. Именно поэтому для меня было бы лучше понизить это и почему 60 хорошо для серверов? Я пытался найти ответ (я посмотрел здесь , например), но не смог понять. ... Пожалуйста, используйте простые термины: D

16
задан 13 April 2017 в 15:37

4 ответа

Ваша предпосылка неверна. Не существует значения подкачки «хорошо для серверов».

Swapiness - это объем обмена, который сделан, особенно, насколько агрессивно вы меняете обмен. Для моих серверов перестановка близка к нулю, так как я уверен, что у них достаточно памяти для всего. Нет лучшего значения для серверов. есть 60, что является значением по умолчанию, а затем есть «ваша ценность», которая зависит от использования и доступной памяти.

Если у вас есть серверы, которые иногда используют НАГРУЗКИ памяти, вы можете иметь их выше, чем по умолчанию, но я бы сказал, что некоторые серверы (серверы баз данных?) Могут захотеть держать их на уровне ниже, чем домашний компьютер.

0
ответ дан 13 April 2017 в 15:37

Значение swappiness масштабируется таким образом, чтобы сбить людей с толку. Они видят, что он имеет диапазон 0-100, поэтому они думают о процентах, когда на самом деле эффективный минимум составляет около 50.

60 примерно означает, что не нужно менять местами, пока мы не достигнем около 80% использования памяти, оставляя 20% для кэша и тому подобное. 50 означает ждать, пока у нас не хватит памяти. Более низкие значения означают то же самое, но с возрастающей агрессивностью в попытках освободить память другими способами.

Описание это довольно хорошо на http://lwn.net/Articles/83588/

0
ответ дан 13 April 2017 в 15:37
  • 1
    обработанный как очарование! Стержень спасибо! Я честно думаю, что перенаходка является одной из самых приятных частей программного обеспечения I' ve когда-либо использовал:) – Marnes 1 August 2015 в 23:32

Параметр swappiness - это способ, которым Linux вычисляет преимущества / недостатки обмена в конкретном сценарии. Высокая перестановка не приведет к перестановке системы, когда в этом нет необходимости, а низкая перестановка, при условии, что вы не полностью отключите подкачку, не помешает вашей системе подкачки, когда это абсолютно необходимо.

Перестановка по умолчанию, равная 60 или около того, является очень хорошим компромиссом, гарантирующим хорошую производительность вашей системы, гарантируя, что она не слишком усердно выделяет кэш-память, пока есть неиспользованная выделенная программная память.

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

См. Ответ, который я написал на очень похожий вопрос:

https://askubuntu.com/a/184221/54256

Выдержка:

Почему большинство людей рекомендует уменьшить перестановку до 10-20?

Поскольку большинство считает, что подкачка = плохо, и что если вы не уменьшите перестановку, система поменяется, когда она действительно не поменяется. не надо. Ни то, ни другое не правда. Люди связывают своп со временем, когда их система застревает - однако, это в основном своп , потому что система увязает, а не наоборот. Это правда, что есть определенные моменты, когда подкачка может иметь заметное снижение производительности, но система уже учтет это в своем решении об обмене и решила, что невыполнение будет иметь большее общее ухудшение производительности или стабильности системы, что может позже стать заметным. В целом настройки по умолчанию должны обеспечить наилучшую общую производительность и надежность. Я бы рекомендовал оставить его по умолчанию.

...

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

Это не делает это в соответствии с определенной отсечкой, хотя. Это не значит, что вы достигли определенного процента распределения, тогда Linux начинает меняться. У него довольно «нечеткий» алгоритм. Принимается во внимание множество вещей, которые лучше всего можно описать как «насколько сильно давление для выделения памяти». Если существует большое «давление» для выделения новой памяти, то это увеличит шансы, что некоторые из них будут заменены, чтобы освободить место. Если будет меньше «давления», это уменьшит эти шансы.

Ваша система имеет настройку «swappiness», которая помогает вам настроить то, как рассчитывается это «давление». Обычно это вообще не рекомендуется менять, и я бы никогда не порекомендовал вам это изменить. Замена в целом очень хорошая вещь: любые случайные потери производительности должны компенсироваться увеличением общей отзывчивости и стабильности системы для широкого круга задач. Если вы уменьшите объем перестановки, вы позволите уменьшить объем кеш-памяти немного больше, чем это было бы в противном случае, даже если это действительно может быть полезно. Поэтому вы рискуете замедлить работу вашего компьютера в целом, поскольку кеша меньше, а память занята приложениями, которые даже не используют его. Является ли это достаточно хорошим компромиссом для какой-то конкретной проблемы, с которой вы сталкиваетесь при обмене, зависит от вас. Если вы пойдете дальше этого и фактически отключите подкачку, вы рискуете нестабильностью системы в случае, если в системе не хватит памяти для процессов.

Что происходит, когда система перегружена и сильно перегружена?

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

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

...

Но как своп может ускорить мою систему? Разве подкачка не замедляет процесс?

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

Не стесняйтесь читать весь пост на https://askubuntu.com/a/184221/54256

0
ответ дан 13 April 2017 в 15:37

Перестановка полностью противоречит всем этим ответам.

Реальная работа подкачки описана в статье: https://gokulvasanblog.wordpress.com/2016/11/14/empathising-mammoths-mentality-a-study-on-linux-memory -management /

Неоднозначность подтверждается заявлением Эндрю Мортона: https://lwn.net/Articles/83593/

I'm собираюсь засунуть пальцы в уши и петь "ля ля ля", пока люди не скажут мне: "Я установил перестановку на ноль, и она не сделала то, что я хотел" ».

Надеюсь, что это полезно

0
ответ дан 13 April 2017 в 15:37

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

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