Оптимизация работы SWAP в Ubuntu

Не знаю почему, но разработчики Ubuntu решили что если используется больше 40% ОЗУ, то операционная система должна начать использовать SWAP (раздел подкачки). Лично я обладатель ноутбука с 3 Гб ОЗУ, а следовательно начинается использоваться SWAP уже при занятых 1230 Мб, при том что еще 60% оперативки свободно начинается сброс в SWAP, следовательно жесткий диск начинает чаще работать, что за собой ведет:

  1. Сокращение времени автономной работы, т.к. жесткий диск чаще выполняет операции чтение/запись
  2. Система начинает работать медленней, т.к. жесткий диск на порядок тормознутей чем оперативка.

Такое положение дел меня не устраивало, поэтому немного погуглив я нашел следующее решение:


От имени администратора открываем файл /etc/sysctl.conf

nano /etc/sysctl.conf

Находим параметр vm.swappiness. Он отвечает за то, при каком объеме свободной ОЗУ (в процентах) начинается использоваться SWAP. По умолчанию стоит 60.

Немного поразмыслив я выбрал вариант, что при остатке 256 Мб оперативки можно начать использовать SWAP. 256Мб от 3 Гб это 8.33%, округляя в большую сторону получаем 9% (что кстати оказалось очень близким к значению которое я чаще всего встречал — 10%). Изменяем значение vm.swappiness = 60 на vm.swappiness = 9. Сохраняемся и перезагружаемся.
Чтобы узнать вступили ли наши изменения в силу нужно выполнить команду:

sudo cat /proc/sys/vm/swappiness

Если вы увидите число, которое вы выставили то значит все ОК.
Дополнение 1: Обследуя Ubuntu 10.04 Server обнаружил, что параметр vm.swappiness в файле  /etc/sysctl.conf отсутствует, однако вывод команды $ sudo cat /proc/sys/vm/swappiness показывает 60. В данном случае придется ввести данный параметр в /etc/sysctl.conf

comments powered by HyperComments
Повышаем производительность Ubuntu с помощью zRam - Блог Hellsman'a
2015-04-09 15:42:05
[…] vm.swappines (изменяется в файле /etc/sysctl.conf ), который часто рекомендуют выставить в значение 10 или вообще […]