Коэффициент подкачки, находящийся в псевдофайле /proc/sys/vm/swappiness, принимает значение от 0 до 100 и указывает ядру как часто следует выгружать страницы памяти на диск (свопить).Высокий коэффициент подходит для работы с громоздкими приложениями и переключение между ними происходит нечасто: каждое приложение будет работать быстрее, но переключение займет больше времени, ведь приложение, которое оставлено на несколько минут без внимания, давно выгружено в своп-раздел. Например, дизайнеру постоянно работающему в GIMP подойдет значение коэффициента 100
echo "100" > /proc/sys/vm/swappiness
Производительность основного приложения GIMP станет максимальным.
Если работать с небольшими программами, между которыми часто надо переключаться, то значение коэффициента подкачки около 20.
Значение по умолчанию 70.
Коэффициент подкачки - динамический параметр ядра и при перезагрузки он не сохраняется.Чтобы сделать его постоянным, нужно вписать строки вида <параметр>=<значение> в файл /etc/sysctl.conf, откуда их в ходе начальной подкачки прочитает утилита sysctl.
Имя параметра - это имя виртуального файла относительно каталога /proc/sys, в котором символ слэша заменяется на точку:vm.swappiness. Команда sysctl -а
выводит список всех параметров, доступных для изменения.
Комментарии (5)
Кстати значение swappiness по умолчанию 60 вапче-то. А команда echo "100" > /proc/sys/vm/swappiness установит значение только до ближайшей перезагрузки, ну хотя и так понятно потому что в /proc
У меня были тут большие разборки со свопом, потому что свопило очень страшно памяти достаточно а сам компьютер старенький потому при даже небольной занятости свопа уже всё работало медленно были даже ситуации когда память занята на 30-40% а своп забит полностью.
/proc/sys/vm/swappiness это вообще проценты свободной памяти при которой начинается перенос в своп, при чём у меня он был видать повальным потому что перенос не останавливался пока своп не забьётся полностью.
Установила в файлике /etc/sysctl.conf
vm.swappiness=10 # кстати пробелы вокруг равенства ставить нельзя, а то не сработает
Ещё кстати видела в интернете патчи к ядру которые якобы должны делать это значение динамическим, то есть изменять в зависимости от ситуации ну и запущенных программ, только не рискнула пробовать, и даже глубже посмотреть про это.
swappiness мне было мало, оказалось в память лезет ещё всякое, кеширование файлов и что-то там упреждающее действия пользователя.
Добавила ещё вот такое чудо:
vm.vfs_cache_pressure=1000 # по умолчанию 100, везде советуют 1000, чем меньше значение, тем больше остаётся в памяти кешированных объектов разных
Это значение указывает на то как относится ядру на кешированные объекты в памяти, если программа уже закрыта или отказалась от их использования. (я думала это просто дельфин теряет память потому что в памяти там оставались всякие картинки предосмотра, после того как его закроешь вообще) Но говорят что при таком значении увеличивается время копирования файлов, правда я этого не заметила.
И вот пришла к выводу, что совет на счёт GIMP(я им очень часто пользуюсь) и значения vm.swappiness=100 не очень такой корректный, потому что у меня он начал лучше работать, да как и вся система при значении 10, наверное всё таки больше зависит от скорости жёсткого диска количества памяти, да и вообще самой ситуации.
При каком объеме ОЗУ стоит проводить данные манипуляции? При своих 4 гигах я ни разу не видел, чтобы у меня что-то свопилось. На старой банке при 2 гигах - аналогично.
У меня 1.5гб озу и 800мб свопа
надо будет поэкспериментировать.
А сколько метров ОЗУ при этом остается свободными?
Занято 30-40% по-старому, а своп не использовался у меня ещё.
Отправить комментарий