Заметка о 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 - количество выгруженных страниц памяти на дисковый кеш