LINUX.ORG.RU
решено ФорумAdmin

Ограничить размер кэша для файловой системы / директории / процесса.

 , , ,


1

1

У меня такое дело, есть каталог с торентами, торентов много, и они раздаются/качаюстя круглосуточно. Нужно уменьшить влияние процесса раздачи/закачки торентов на систему. Дело в том, что файлами с самым частым доступом являются как раз эти торенты, и в результате остальные файлы быстро выталкиваются из кэша, стоит оставить компьютер на пару минут, как браузер начинает безобразно тормозить, ибо файлы его кэша давно уже покинули память и их место заняли торенты. Запустить новую программу тоже проблема, ибо кэш корневой файловой системы тоже пуст. Хочу ограничить размер кэша для файловой системы с торентами, либо, если можно, для каталога в ней, либо для процесса, трогающего файлы. Короче, хоть как нибудь ограничить файловый кэш для директории с торентами.

swapiness уже уменьшил, сейчас стоит на 30, хоть это и не должно никак помочь в данной ситуации. Рамы 8Gb , из них все программы занимают обычно не более 2Gb, так что ограничение кэша вполне разумно было бы.

Я сильно подозреваю что проблема далеко не в кеше, а в том что торрент клиент заваливает дисковую подсистему запросами и производительность упирается в IOPS диска.

router ★★★★★
()

ограничить размер кэша для файловой системы с торентами

лучше разбей диск молотком сразу

anonymous
()
Ответ на: комментарий от anonymous

Евгений Ваганыч, он у меня и так разбит, только LVM-ом.

s9gf4ult ★★
() автор топика
Ответ на: комментарий от s9gf4ult

Это мутная тема. Не попробуешь — не узнаешь. Там, насколько я помню, рецепт был. Попробуй и оцени, подходит тебе эффект или нет. Ведь важен же только результат?

i-rinat ★★★★★
()
Ответ на: комментарий от router

ты просто не вкурил суть проблемы, хотя она расписана более чем хорошо.
я тоже поднимал такую тему - так же были «хранители винтов» не использующие мозг, как и в этом треде.

megabaks ★★★★
()
Ответ на: комментарий от i-rinat

Уже собираю ведро, думаю cgroups - более правильное решение, не хотелось бы собирать какой-то грязный юзерспейсовый хак из svn, подохший в 2008 году.

s9gf4ult ★★
() автор топика
Ответ на: комментарий от s9gf4ult

не хотелось бы собирать какой-то грязный юзерспейсовый хак из svn, подохший в 2008 году.

Иногда прекращение разработки говорит лишь о том, что весь функционал реализован, а критические для функциональности баги отсутствуют. Так называемое works-for-me состояние.

i-rinat ★★★★★
()

для процесса есть cgroup, там можно достаточно сильно управлять. маны в /usr/src/linux/Documentation/cgroups/memory

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Да уже читаю, только не могу найти ничего про кэш. Да и как можно управлять кэшем для процесса ? Это же кэш диска, он же общий ...

s9gf4ult ★★
() автор топика
Ответ на: комментарий от s9gf4ult

хм.. если ты про swappenes то там можно устанавливать на уровне цгруппы лимиты (мягкий и жесткий) для памяти процесса и свопа + скорости доступа к железке и сети. В принципе должно хватить.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Засунул делюгу в memory:torrents, ограничил помять через limit_in_bytes, посмотрим что будет дальше, вообще, судя по документашке

Shared pages are accounted on the basis of the first touch approach. The cgroup that first touches a page is accounted for the page. The principle behind this approach is that a cgroup that aggressively uses a shared page will eventually get charged for it (once it is uncharged from the cgroup that brought it in — this will happen on memory pressure)

Полагаю, к shared pages относится и page cache, который и является кэшем файловой системы, и не только ее.

s9gf4ult ★★
() автор топика

Работает ! Так просто и так эффективно ! А systemd не зря все сервисы рассовывает по cgroups. А еще в cgroups можно классифицировать трафик и настроить так, чтобы торенты еще и серфить не мешали ! Ну чума теперь.

s9gf4ult ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.