Заметка о vm.swappiness
vm.swappiness
задаёт процент свободной оперативной памяти при превышении которого активируется swap
.
По-умолчанию vm.swappiness = 60 - это компромисс для десктопных систем, т.е. swap
подключится, когда будет занято 40% памяти.
Согласно Red Hat Performance Tuning manual следует использовать значение 10 для серверов. Меньшее значение увеличивает риск того, что придёт OOM killer.
Проверим текущее значение:
|
|
Для того, чтобы изменить это положение дел, нужно добавить в файл /etc/sysctl.conf
строку vm.swappiness=5
. Если следовать рекомендациям в файле /etc/sysctl.d/README.sysctl
, то правильным выбором будет создание файла в директории /etc/sysctl.d/*.conf
.
Для локальных изменений создим файл /etc/sysctl.d/local.conf
со строкой vm.swappiness=5
и применим изменения:
|
|
Проверим текущее значение снова:
|
|
При нагрузке на систему следует обратить внимание на параметр swout
в atop
и на то, как долго висит большое значение в swout
.
Посмотрим с интервалом в 1 секунду:
|
|
man atop: If the number of pages swapped out (‘swout’ in the PAG-line) is larger than 10 per second, the memory resource is considered ‘critical’. A value of at least 1 per second is considered ‘almost critical’.
PAG: swin - количество загруженных страниц памяти из дискового кеша
PAG: swout - количество выгруженных страниц памяти на дисковый кеш