Поставил я Kubuntu на RAID 0 и, в ожидании кайфа от сверхсветовых скоростей дисковой подсистемы, стал использовать компьютер как обычно. Разочарования ждать пришлось не долго. При сборке mkv–файла из четырёх исходных файлов на том же диске, тормоза были на столько жуткими, что система полностью теряла отзывчивость.
И вспомнилось мне, что точно такие же тормоза случаются при нехватке оперативной памяти. Правда, при нехватке памяти, приложения внезапно завершали работу, вплоть до краха самой системы. Здесь же всё продолжало работать, но в режиме неспешного слайд–шоу.
С этими грустными мыслями я полез в системный монитор, чтобы посмотреть текущее состояние использования оперативы. И таки убедился, что оператива используется по полной программе и даже больше. А именно: из 8–ми гиг было использовано более 6–ти, но самое интересное, что нещадно юзался и малюсенький, в 1,4 гига, своп. И тут в моём мозгу зародились кое–какие подозрения.
Я тут же вспомнил волшебное слово «swappiness».
- cat /proc/sys/vm/swappiness
Запустив эту команду, я получил результат 60, что можно понять, как стремление системы не использовать подкачку, пока свободно больше 60% оперативной памяти. Соответственно, значение 100 приводит к постоянному использованию подкачки, а значение 0 — к стремлению не использовать своп вообще.
Эта команда устанавливает swappiness в нуль для текущего сеанса:
- sudo sysctl vm.swappiness=0
А если добавить эту строку в конец файла /etc/sysctl.conf, то значение swappiness зафиксируется навсегда:
- vm.swappiness=0
Многие рекомендуют выбирать значение swappiness экспериментальным путём, я же поставил его в нуль и моментально избавился от тормозов. Так что, не всякий своп одинаково полезен.
Однако
Вышеозначенный способ ограничения стремлений системы юзать свап замечательно работает в случае избытка оперативной памяти. Однако, в случае её недостатка, когда использование свапа становится жизненно–необходимым, система будет по прежнему упрямо этого избегать. Что может привести к ещё более фееричным тормозам и глюкам. Так что, если у вас мало оперативы, не стоит обнулять swappiness.