Я видел много людей, которые публиковали субъективные объяснения того, что это делает. Вот, надеюсь, более полный ответ.
В разделенном LRU на посте 2.6.28 Linux swappiness - это множитель, используемый для произвольного изменения доли, которая рассчитывается при определении давления, создаваемого в обоих LRU.
Так, например, в системе, где не осталось свободной памяти - значение имеющейся у вас памяти измеряется на основе скорости, с которой объем памяти указан как «Активный», и частоты продвижения страниц. активным после попадания в неактивный список.
LRU с большим количеством продвижений / понижений страниц между активным и неактивным активно используется.
Обычно хранилище с файловой поддержкой дешевле и безопаснее выселять, когда у вас заканчивается память, и автоматически получает модификатор 200 (это делает память с файловой резервной копией в 200 раз бесполезнее, чем память с резервной копией (которая имеет значение 0) при это умножает эту долю.
Что делает swappiness, так это изменяет это значение, вычитая номер подкачки, который вы дали (по умолчанию 60), в файловую память и добавляя значение swappiness, которое вы дали в качестве множителя, в anon memory. Таким образом, замена по умолчанию оставляет вас с анонимной памятью, которая в 80 раз ценнее файловой памяти (200-60 для файла, 0 + 60 для anon). Таким образом, в типичной системе Linux, которая израсходовала всю свою память, кеш страниц должен быть в 80 раз активнее анонимной памяти, чтобы анонимная память могла быть заменена на кеш страниц.
Если вы установите swappiness на 100, это дает модификатору 100 и файловой памяти модификатор 100 (200 - 100), оставляя оба LRU одинаково взвешенными. Таким образом, в файловой системе, требующей кэширования страниц, обеспечивающей анонную память, не так активно, как кэш страниц, тогда аноновая память будет перенесена на диск, чтобы освободить место для дополнительного кэша страниц.