Настройка swappiness

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

 

vm.swappiness и настройка swappiness в Debian/Ubuntu

SWAP — область на диске, которая может быть использована системой как оперативная память.

В Ubuntu по умолчанию существует значение 60. Это означает, что как только процессы начинают потреблять более 60% доступной серверу оперативной памяти — начинается использование диска как RAM.

 

Проверить значение можно так:

sysctl -a | grep swappin

vm.swappiness = 60

 

Фактическую информацию по использованию RAM и Swap видно в выводе команды free

free -m

total used free shared buff/cache available
Mem: 1870 1264 124 177 482 541
Swap: 1903 191 1712

 

Более низкоуровневая информация по памяти:

cat /proc/vmstat

 

Изменить значение swappiness можно в файле /etc/sysctl.conf
Использование Swap лучше сводить минимуму при SSD дисках, для многих серверов подходящим значением будет 10 или 20

mcedit /etc/sysctl.conf

vm.swappiness=20

 

Применить значение для текущей сессии

sysctl -p

При каждом старте системы файл /etc/sysctl.conf считывается и далее будет использоваться значение swappiness 20.

Дополнительно можно добавить параметры vm.dirty_background_ratio, vm.dirty_ratio. Значения указать в 5-10-15. Это позволит уменьшить кэш и риск потери данных в случае сбоев.

 

Читайте о том в каких ситуациях Swap лучше не применять.