Повышаем производительность системы на примере коэффициента подкачки

Изображение пользователя Positron.

Коэффициент подкачки, находящийся в псевдофайле /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)

0
Жюстина - 7 Июль, 2010 - 05:26
Изображение пользователя Жюстина.

Кстати значение 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, наверное всё таки больше зависит от скорости жёсткого диска количества памяти, да и вообще самой ситуации.

0
Mike - 7 Июль, 2010 - 06:17
Изображение пользователя Mike.

При каком объеме ОЗУ стоит проводить данные манипуляции? При своих 4 гигах я ни разу не видел, чтобы у меня что-то свопилось. На старой банке при 2 гигах - аналогично.

0
Жюстина - 7 Июль, 2010 - 07:45
Изображение пользователя Жюстина.

У меня 1.5гб озу и 800мб свопа

0
Mike - 7 Июль, 2010 - 08:02
Изображение пользователя Mike.

надо будет поэкспериментировать.
А сколько метров ОЗУ при этом остается свободными?

0
Жюстина - 7 Июль, 2010 - 08:23
Изображение пользователя Жюстина.

Занято 30-40% по-старому, а своп не использовался у меня ещё.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры