Параметр vm.swappiness и настройка swappiness в Linux


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

Если свободной RAM много SWAP не используется, когда нагрузка на памяти возрастает часть операций для которых нужна операцтивная память начинает выполняться за счёт SWAP.



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


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


В Ubuntu по умолчанию существует значение 60.

Возможные варианты: от 0 до 100, при минимальном значении SWAP используется по минимуму.

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



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

sysctl -a | grep swappin

vm.swappiness = 60



Также можно просмотреть содержимое файла /proc/sys/vm/swappiness, актуальное значение присутствует там.

настройка swappiness


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

free -m

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



В выводе есть отдельная строка для подкачки, в ней указаны значения в мегабайтах. Можно видеть свободное SWAP пространство и занятое.

Если SWAP не подключен — в последней строке будут нули.



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

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 лучше не применять.


Также читайте статьи про настройку:

SWAP файла (область выделяется на существующем диске)

SWAP раздела (используется новый отдельный диск или раздел)

Сказать спасибо