Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Помогите разобраться с vm.swappiness и vm.vfs_cache_pressure в sysctl.conf  (Прочитано 20415 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн October

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
У меня такой вопрос: как между собой соотносятся vm.vfs_cache_pressure и vm.swappiness, т.е. если я уменьшаю значение параметра vm.swappiness с 60 по умолчанию до 10, будет ли это в ущерб vm.vfs_cache_pressure? Что конкретно определяет параметр vm.vfs_cache_pressure?
Данный вопрос возник при такой проблеме: Открываю 5-10 вкладок в Firefox и система глохнет (не всегда), при этом работа харда слышна и никакой реакции системы, процесс бесконечный, помогает только <Alt>+<SysRq>+<B>. Получается что система начинает активно использовать SWAP? Или есть другие варианты и я иду неправильным путем?
Прочитал https://forum.ubuntu.ru/index.php?topic=68840.30   https://help.ubuntu.ru/wiki/ubuntu_optimization  и еще несколько тем, но не разобрался, т.к. везде оперируют изменением одного из выше описанных параметров без их взаимосвязи между собой.

Ноутбук у меня Lenovo G50-30
Celeron N2830 2.16 GHz
ОЗУ 2Gb DDR3l
4G модем Huawei E398
Ubuntu 14.04.02

symon2014

  • Гость
Попробуй увуличить кэш лисы.
(Нажмите, чтобы показать/скрыть)

Оффлайн October

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Попробуй увуличить кэш лисы.
(Нажмите, чтобы показать/скрыть)
Спасибо, изменил размер КЭШа, пока не могу ничего сказать - посмотрю что будет.
P.S. КЭШ занимает место в SWAP или ОЗУ, т.е. стоит ли изменять те параметры что я описал в теме?

Оффлайн ARTGALGANO

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1936
    • Просмотр профиля
vm.vfs_cache_pressure 
определяет размер используемого дискового кэша для уменьшения обращений к винту,
, чем выше значение, тем больше используется ОЗУ.позволяет повысить быстродействие (если достаточно оперативной памяти, более 2гб)
vm.swappiness
 параметр определяет при каком % свободной оперативной памяти будет задействован SWAP

(Нажмите, чтобы показать/скрыть)



Оффлайн October

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
vm.vfs_cache_pressure 
определяет размер используемого дискового кэша для уменьшения обращений к винту,
, чем выше значение, тем больше используется ОЗУ.позволяет повысить быстродействие (если достаточно оперативной памяти, более 2гб)
vm.swappiness
 параметр определяет при каком % свободной оперативной памяти будет задействован SWAP

(Нажмите, чтобы показать/скрыть)



Есть у меня уточняющие вопросы: 1. В каких единицах измеряется vm.vfs_cache_pressure и какое максимальное значение (это объем памяти или количественный показатель)? Я так понимаю: имеется ввиду КЭШ самого диска (разные стандартные значения для разных дисков 8,16,32,64Mb), а не раздел подкачки.
 2. Если я задал vm.swappiness = 10 (т.е. 90%), то vm.vfs_cache_pressure будет учитывать максимальную загрузку ОЗУ на 90% или будет действовать независимо для сокращения количества обращений к винту и будет принудительно перекладывать все на ОЗУ в зависимости от заданной величины vm.vfs_cache_pressure?
3. Встречал советы по добавлению строк vm.swappiness = 10 и vm.vfs_cache_pressure = 1000 без внесения изменений в папке /proc/sys/vm,
т.о. если не внести изменения в /proc/sys/vm , то система проигнорирует добавленные значения в /etc/sysctl.conf ?

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
October, вы извините, но вы такую кашу у себя в голове и в это теме замутили....

vm.swappiness - влияет на процесс переноса данных в SWAP при недостатке физической памяти. Большие значения приводят к более активному использованию swap-файла, меньшие по факту не сильно уменьшают использование swap-файла но чуть затягивают процесс перемещения данных в swap (т.е. перенос в swap ядро просто пытается отложить на потом). Но механизмы там несколько более сложные. Если надо могу поискать ссылки где расписаны детали, но предупреждаю сразу - мозг придется изрядно напрячь, что бы разобраться в деталях.

vm.vfs_cache_pressure - влияет на то на сколько агрессивно ядро забирает блоки из кеша, который используется для буферизации данных о каталогах и i-node-ов. Это только один из типов кешей, которые ядро использует при работе с диском. А кроме того чем больше значение тем более агресивно ядро будет забирать страницы из этого кеша.

Настройки из /etc/sysctl.conf берутся ядром при перезагрузке или если ему явно дать инструкцию обновить параметры из файла настроек (sysctl -f). А замена их в /proc/sys/vm непосредственно в момент изменения влияют на работу ядра, но не сохраняются после перезагрузки или после sysctl -f.
« Последнее редактирование: 24 Апреля 2015, 16:24:32 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн October

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
October, вы извините, но вы такую кашу у себя в голове и в это теме замутили....

vm.swappiness - влияет на процесс переноса данных в SWAP при недостатке физической памяти. Большие значения приводят к более активному использованию swap-файла, меньшие по факту не сильно уменьшают использование swap-файла но чуть затягивают процесс перемещения данных в swap (т.е. перенос в swap ядро просто пытается отложить на потом). Но механизмы там несколько более сложные. Если надо могу поискать ссылки где расписаны детали, но предупреждаю сразу - мозг придется изрядно напрячь, что бы разобраться в деталях.

vm.vfs_cache_pressure - влияет на то на сколько агрессивно ядро забирает блоки из кеша, который используется для буферизации данных о каталогах и i-node-ов. Это только один из типов кешей, которые ядро использует при работе с диском.

Настройки из /etc/sysctl.conf берутся ядром при перезагрузке или если ему явно дать инструкцию обновить параметры из файла настроек (sysctl -f). А замена их в /proc/sys/vm непосредственно в момент изменения влияют на работу ядра, но не сохраняются после перезагрузки или после sysctl -f.

Не судите строго, тут сказывается нехватка моих знаний в процессе настройки и использования системы. Я новичок - установил Ubuntu параллельно с Win7 чуть больше чем 2 недели назад. И даже книгу купил, как источник систематизированной информации для изучения системы. Т.к. у меня еще нет приемлемого уровня понимания работы системы, я стараюсь раскрыть, максимально полно, ход своих мыслей, чтоб человек, который может мне помочь, смог что-то мне подсказать исходя из уровня моего понимания или направить на источник информации (мне кажется это облегчит понимание моего вопроса). Т.о. я стараюсь не просто бездумно менять настройки и файлы, забивая непонятный код в терминале или консоли. Я должен знать что я делаю, может быть и не стоит этого делать, чтоб не убить систему своими действиями без понимания.
Буду признателен за упомянутые ссылки. Про упомянутый напряг для мозга: а как же тогда изучать? я других способов пока не знаю, кроме как извилинами скрипеть (заучивание не в счет).
P.S. Может я забегаю вперед, но все же, какие максимальные значения для vm.vfs_cache_pressure и откуда берется цифра 1000, которую все советуют?
« Последнее редактирование: 24 Апреля 2015, 16:50:48 от October »

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Цитировать
vfs_cache_pressure
------------------

This percentage value controls the tendency of the kernel to reclaim
the memory which is used for caching of directory and inode objects.

At the default value of vfs_cache_pressure=100 the kernel will attempt to
reclaim dentries and inodes at a "fair" rate with respect to pagecache and
swapcache reclaim.  Decreasing vfs_cache_pressure causes the kernel to prefer
to retain dentry and inode caches. When vfs_cache_pressure=0, the kernel will
never reclaim dentries and inodes due to memory pressure and this can easily
lead to out-of-memory conditions. Increasing vfs_cache_pressure beyond 100
causes the kernel to prefer to reclaim dentries and inodes.

Increasing vfs_cache_pressure significantly beyond 100 may have negative
performance impact. Reclaim code needs to take various locks to find freeable
directory and inode objects. With vfs_cache_pressure=1000, it will look for
ten times more freeable objects than there are.
https://www.kernel.org/doc/Documentation/sysctl/vm.txt

Оффлайн October

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Цитировать
vfs_cache_pressure
------------------

This percentage value controls the tendency of the kernel to reclaim
the memory which is used for caching of directory and inode objects.

At the default value of vfs_cache_pressure=100 the kernel will attempt to
reclaim dentries and inodes at a "fair" rate with respect to pagecache and
swapcache reclaim.  Decreasing vfs_cache_pressure causes the kernel to prefer
to retain dentry and inode caches. When vfs_cache_pressure=0, the kernel will
never reclaim dentries and inodes due to memory pressure and this can easily
lead to out-of-memory conditions. Increasing vfs_cache_pressure beyond 100
causes the kernel to prefer to reclaim dentries and inodes.

Increasing vfs_cache_pressure significantly beyond 100 may have negative
performance impact. Reclaim code needs to take various locks to find freeable
directory and inode objects. With vfs_cache_pressure=1000, it will look for
ten times more freeable objects than there are.
https://www.kernel.org/doc/Documentation/sysctl/vm.txt
Спасибо за информацию

 

Страница сгенерирована за 0.034 секунд. Запросов: 23.