|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Можно ли ограничить размер файлового кэша в ядре 3.0? Ситуация: 2ТБ памяти в системе. Процессы потребляют 1.6ТБ Все хорошо, пока не начинаем копировать большие файлы на другой сервер по сети. Через некоторое время кэш подъедает оставшиеся 400ГБ и приложение начинает дико тормозить. Тормозит оно даже после того, как копирование прервано. Система подъедает свободную память почти до нуля, но отзывать страницы из кэша не торопится. Причем речь не о грязных блоках. Пока не сделали echo 1 > /proc/sys/vm/drop_caches не полегчало ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 15:50 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Ихтиандр, У меня в закладках с давних пор есть вот это . Не помню, насколько оно работоспособно (не нравится мне идея установки ядра, которого нет в репозитории), но на локальной вики закладка почему-то отмечена "плюсиком". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 17:03 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
cgroups может, но был ли он в винтажном релизе 3.0 я не помню ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 17:11 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Спасибо. По ссылкам вышел вот на это Похоже swappiness и vfs_cache_pressure - то что нужно крутить как раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 17:42 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Мутагенcgroups может, но был ли он в винтажном релизе 3.0 я не помню на мой взгляд, это извращение Я то хотел чтобы менеджер памяти в принципе работал иначе. Зачем мне половина памяти в буферах и своп аут процессов при этом? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 17:44 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Ихтиандр, зато ядру можно "посоветовать" не использовать кеш в помощью вызова fadvise. вот такую штуку я находил и использовал нормально : https://code.google.com/p/pagecache-mangagement/source/browse/trunk/pagecache-management.txt?r=2 Кроме того, были еще всякие проекты по сходному принципу, которые вообще передают флажки O_DIRECT и кеш отключается совсем. При этом важно еще чтобы сама скорость копирования не превосходила возможности дисков, чтобы оставался резерв для работы. Поэтому в rsync сделали опцию --bwlimit. А в cp и tar нет . Есть в специальном древнем tar от oracle https://oss.oracle.com/projects/coreutils/files/EL3/src/ ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 20:43 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
И, кстати, самый простой способ - просто не спешить чтобы процессы успевали память пометить как нужную. То есть, просто копировать данные с помощью rsync --bwlimit. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2015, 21:50 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
netwindИ, кстати, самый простой способ - просто не спешить чтобы процессы успевали память пометить как нужную. То есть, просто копировать данные с помощью rsync --bwlimit. Не очень понимаю, как bwlimit помешает ядру прибрать всю неиспользуемую память под кэш чтения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2015, 11:55 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Ихтиандр, если обсуждаемый кеш реально представляет из себя кеш - он будет в это время еще немного читаться программами и повышать шансы своих страниц остаться в памяти в сравнении со страницами мусора, который используется один раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2015, 12:33 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
ИхтиандрНе очень понимаю, как bwlimit помешает ядру прибрать всю неиспользуемую память под кэш чтения. Если подойти формально - никак. Но неиспользуемой памяти в линуксе вообще почти не бывает. Раз у вас тормозит, значит используется память занятая под файловой кеш и речь именно о ней. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2015, 12:36 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Я же описал ситуацию: система набрала в кэш, файлы считаны один раз, операция завершена уже около часа, но память не освобождается. Короче это должно помочь. 18110413 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 09:38 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
ИхтиандрЯ же описал ситуацию: система набрала в кэш, файлы считаны один раз, операция завершена уже около часа, но память не освобождается. Короче это должно помочь. 18110413 Для начала, вы понимаете, что память занятая под кеш файлов вообще в линуксе никогда не освобождается ? показатели "free" имеют другой смысл в сравнении с windows. Теперь мне кажется тут все изначально напутано. Действительно ли 1.6 ТБ памяти занимают процессы ? Это что за приложение ? Есть графики или хотя бы шапка от hop ? Если там ничего активного нет, то память приложения вытесняется и обратно в память попадет нескоро. Так что может это приложение надо настроить ? Мое решение вы не нашли, потому что выдумали себе найти какие-то волшебные sysctl в ядре. Но как ядро узнает о том, что эти конкретные файлы не нужны в кеше? Никак. (Есть определенные фокусы, которые определяют линейное считывание файла и предполагают, что оно будет однократным, но сработают ли они хорошо - не гарантировано ) Зато если приложение подаст сигнал, то есть сделает fadvise - это сработает точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 11:09 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
netwindпамять занятая под кеш файлов вообще в линуксе никогда не освобождаетсяНе понял интонацию этого фрагмента. Это шутка или сарказм? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 11:18 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
miksoftnetwindпамять занятая под кеш файлов вообще в линуксе никогда не освобождаетсяНе понял интонацию этого фрагмента. Это шутка или сарказм? Имеется ввиду, что буфера чтения вообще никогда не помечаются как полностью свободные. Показатель free обратно не уменьшается никогда ( кроме как если сделать umount). Ждать этого нет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 11:31 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
netwindmiksoftпропущено... Не понял интонацию этого фрагмента. Это шутка или сарказм? Имеется ввиду, что буфера чтения вообще никогда не помечаются как полностью свободные. Показатель free обратно не уменьшается никогда ( кроме как если сделать umount). Ждать этого нет смысла.Тогда чем объяснить уменьшение этих буферов на данном суточном графике? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 11:56 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
miksoft, предположу, что в 3 ночи завершается бекап и какие-то временные файлы удаляются. У меня при активно используемом кеше free стремится к нулю. На не слишком загруженных системах графики похожи на приведенный. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 12:14 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
netwindНо как ядро узнает о том, что эти конкретные файлы не нужны в кеше? Никак.Например, когда эти файлы удалили/обрезали и никто не держит их открытыми? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 12:15 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
netwindmiksoft, предположу, что в 3 ночи завершается бекап и какие-то временные файлы удаляются.Ну, значит, "никогда" не так уж и никогда? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 12:18 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
miksoft, та я в скобочках написал про umount. Можно удаление считать тем же самым случаем. По крайней мере, ТС точно не захочет удалять файлы ради очистки кеша. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 12:21 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
я делаю проще echo 3 >/proc/sys/vm/drop_caches То что free не растет - вполне естественно для *NIX систем, однако странно не это, а то, что в условиях дефицита памяти буфера не освобождаются. Обидно за свое решение? Скажите мне как оно будет работать если система в принципе не чистит буфера без пинка от души? Какая разница, ограничиваю я скорость передачи данных, читай наполнения кэша, или нет, если и по прошествии часа приложение испытывает затруднения при запросе памяти. Как ядро узнает что ему нужно а что нет? Вот именно про рычаги, заставляющие принимать подобные решения я и спрашивал. Можно заставить ядро делать выбор либо в пользу своп аут на диск памяти процессов либо в пользу жертвования the most rarely used страниц в буферах файлового кэша. Можно заставить ядро начинать бить тревогу не при 1ГБ свободной памяти для начала процесса компактинга фрагментированной памяти, а при раз в 10 большем количестве. Можно обозначить разумный таргет для файловых буферов, до которого в случае дефицита кэш будет схлопнут. Какое приложение? С трудом верится в объем? SAP HANA. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 16:33 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Ихтиандр, Посмотрите https://www.kernel.org/doc/Documentation/sysctl/vm.txt Может, чего и вычитаете полезного. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 16:39 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Ихтиандр.. То что free не растет - вполне естественно для *NIX систем, однако странно не это, а то, что в условиях дефицита памяти буфера не освобождаются .. SAP HANA. А, понятно. Это такая фигня, которая съедает все данные , держит их в памяти чтобы потом никогда их не использовать (иначе они бы в своп не улетали просто так). Ядру недостаточно такого сигнала. Оно не считает, что есть дефицит. Хорошо, если вам помогает. Но в более традиционных применениях проблема намного острее стоит. Если сбросить весь кеш, это повлияет и на скорость работы приложений очень сильно. Поэтому выгоднее изначально не пихать бесполезные файлы в файловый кеш. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 16:44 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
какой же ты упорный, блин я не стану никого убеждать в том, что иногда дефолтное поведение системы необходимо менять, потому что универсальных настроек под любую конфигурацию и любое приложение не существует. Можешь сказать под какую систему десктоп/файлсервер/сервер БД/сервер приложений и под какую аппаратную конфигурацию заточены дефолт тюнаблс в линуксе? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 16:50 |
|
Linux Можно ли ограничить размер файлового кэша?
|
|||
---|---|---|---|
#18+
Ихтиандр, кто больше всех ноет в списках рассылки - под того и затачивают. То есть, под mysql, php и firefox. разве не очевидно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2015, 16:52 |
|
|
start [/forum/topic.php?fid=25&msg=39044791&tid=1481935]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 422ms |
0 / 0 |