Вопрос: Как настроить swappiness?


Мне нужен пошаговый, простой и простой способ настройки swappiness.


295
2018-02-13 18:31


Источник


Один лайнер sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf" - redanimalwar
@redanimalwar вам также нужно запустить sudo sysctl -p для загрузки нового значения swappiness из файла sysctl.conf, в противном случае изменение будет применяться только при следующей перезагрузке. - waldyrious


Ответы:


Ядро Linux предоставляет настраиваемый параметр, который определяет, как часто используется файл подкачки, называемый swappiness.

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

Система Ubuntu имеет значение по умолчанию 60, что означает, что файл подкачки будет использоваться довольно часто, если использование памяти составляет около половины моей ОЗУ. Вы можете проверить значение swappiness собственной системы, запустив:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Поскольку у меня есть 4 ГБ ОЗУ, я бы хотел, чтобы это уменьшилось до 10 или 15. Файл подкачки будет использоваться только тогда, когда мое использование ОЗУ вокруг 80 или 90 процент. Чтобы изменить значение swappiness системы, откройте /etc/sysctl.conf в виде корень, Затем измените или добавьте эту строку в файл:

vm.swappiness = 10

Перезагрузите, чтобы изменения вступили в силу.

Вы также можете изменить значение, пока ваша система все еще работает:

sysctl vm.swappiness=10

Вы также можете очистить свой своп, запустив swapoff -a а потом swapon -a как root вместо перезагрузки для достижения такого же эффекта.

Чтобы вычислить ваш своп Формула:

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

поэтому общее количество составляет 3950/100 = 39,5 * 10 = 395

Так что это значит, что когда 10% (395 МБ) бара, тогда он начнет использовать своп.


Помогите . Ubuntu. Замена

Что такое swappiness

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

  • swappiness может иметь значение от 0 до 100.
  • swappiness=0:
    • Ядро версии 3.5 и новее: отключает swapiness.
    • Версия ядра старше 3,5: позволяет избежать перестановки процессов из физической памяти как можно дольше.
  • swappiness=1:
    • Ядро версии 3.5 и более: минимальная swappiness, не отключая его полностью.
  • swappiness=100:
    • Сообщает ядру, что он агрессивно меняет процессы из физической памяти и перемещает их для замены кэша.

Видеть http://en.wikipedia.org/wiki/Swappiness,

Значение по умолчанию в Ubuntu swappiness=60, Уменьшение значения по умолчанию для swappiness, вероятно, улучшит общую производительность для типичной установки рабочего стола Ubuntu. Значение swappiness=10 рекомендуется, но не стесняйтесь экспериментировать.


пример

Начал использовать swap при 91%:

enter image description here Поскольку я настроил свою систему и vm, чтобы использовать ОЗУ при 90%, в 90% не было обмена.

После этого я открыл некоторые приложения, такие как Firefox & Shutter, и начал перекодировку, поскольку использование ОЗУ выше 90%,


446
2018-02-13 18:33



Swappiness of 100 не делает программы сразу же замененными, а также не используется значение 60 или 90 подкачки, когда барабан равен 60 или 90%. Это отношение предпочтения к краже страниц из кеша и их замену, чтобы освободить память, если этого недостаточно. Низкое значение сильно предпочтете красть страницы из кеша, а высокое значение сильно предпочитает пытаться и подкачки страниц. Этот параметр имеет эффект только после того, как все файлы используются (почти) все, и ядро ​​должно выбрать способ освобождения. - psusi
Вы должны указать, что оперативная память, которая НЕ занята запущенными программами, используется в качестве дискового кэша ... поэтому, уменьшая swappiness, вы увеличиваете вероятность того, что программа не будет заменена, но в то же время уменьшите размер дискового кеша, который может замедлить работу диска. Таким образом, эффекты этого параметра на фактическую производительность не так просто ... вы можете экспериментировать, конечно, но я подозреваю, что значения по умолчанию задаются людьми, которые понимают достаточно в теме :) - Sergey
@Sergey и ирония в том, что те, у кого небольшая оперативная память, скорее всего, будут пытаться каждый трюк, с которым они могут столкнуться, чтобы повысить производительность, и, скорее всего, будут люди, для которых 60 или даже выше будут лучшими фигурами. Те из нас, которые устанавливают это до 10, потому что у нас есть тонны ОЗУ, они не набирают столько, сколько они потеряют, если они это сделают. - Jon Hanna
@Freedom_Ben: Смотрите linuxatemyram.com :) - Sergey
Просто оставив подобное обсуждение здесь - unix.stackexchange.com/questions/88693/... - Elijah Lynn