суббота, 4 июня 2011 г.

Оптимизация Ubuntu через настройку swap

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

Компромисс обнаружился в настройке  /proc/sys/vm/swappiness и /proc/sys/vm/vfs_cache_pressure.

В файле swappiness хранится значение в процентах, это уровень свободной памяти, при котором система начнет активно сбрасывать память в своп. Значение по умолчанию: 60. Я сделал 10.

В файле vfs_cache_pressure хранится значение - уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Я сделал 1000.

Если жалко не задействованной оперативки во время работы системы, для ее ускорения изменяем значение системы на:
swappiness = 10 , vfs_cache_pressure = 1000

Для этого окрываем в Gedit для редакирования файл swappiness введя в терминал sudo gedit /proc/sys/vm/swappiness изменяем значение 60 на 10. Далее изменяем также файл vfs_cache_pressure введя в терминал sudo gedit /proc/sys/vm/vfs_cache_pressure и изменяем значение с 100 на 1000.

Далее, чтобы эти настройки применялись при загрузке системы отредактируем файл /etc/sysctl.conf. Вводим в терминале sudo gedit /etc/sysctl.conf и редактируем файл добавив в конец строки:

vm.swappiness = 10
vm.vfs_cache_pressure = 1000


После проделанных изменений в своп не будет выгружаться память пока оперативная память не загрузится на 90%. Т.е. оперативная память (которая работает быстрее чем своп на жестком диске) будет эффективно использована и не будет частых обращений к жесткому диску.

Пациент: ноутбук с 1 гиг. оперативкой; 2 гиг. своп раздел; Ubuntu 10.04.1