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

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

293 голоса | спросил One Zero 13 FebruaryEurope/MoscowbMon, 13 Feb 2012 22:31:36 +0400000000pmMon, 13 Feb 2012 22:31:36 +040012 2012, 22:31:36

1 ответ


443

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

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

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

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

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

  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
             общее количество использованных свободных буферов в кэше
Мем: 3950 2262 1687 0 407 952
- /+ буферы /кеш: 903 3047
Обмен: 1953 0 1953
 
  

, так что общее значение составляет 3950/100 = 39,5 * 10 = 395

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


                                                 Справка. 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% :

введите описание изображения здесь Поскольку я настроил свою систему & amp; vm, чтобы использовать ОЗУ при 90% , при 90% не было обмена.

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

ответил One Zero 13 FebruaryEurope/MoscowbMon, 13 Feb 2012 22:33:35 +0400000000pmMon, 13 Feb 2012 22:33:35 +040012 2012, 22:33:35

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132