Назад | Перейти на главную страницу

Очистка кешированной памяти загруженного файла

В моей системе у меня есть файл журнала, который обновляется и загружается каждый час. Этот файл интенсивно записывается, и его нужно читать только при повороте и загрузке.

В cached память в моей системе увеличивается до тех пор, пока не будет выделена вся оперативная память, а затем ОС очистит ее часть. Я хочу улучшить этот процесс и подозреваю, что кеш увеличивается из-за этого файла журнала, в который я все время пишу.

Мне нужно найти способ очистить кеш этого файла после его загрузки, чтобы я мог сказать ОС, что он больше не нужен, и позволить ему освободить память.

Насколько я знаю, echo 3 > /proc/sys/vm/drop_caches очищает всю кешированную память. Это правильно?

Есть ли способ очистить кешированную память только для одного файла?

В общем, лучше просто оставить операционную систему для управления памятью. Память, используемая в качестве кеша, будет возвращена процессам, когда они ее запросят.

Вам действительно нужно начинать действовать только тогда, когда ваша система регулярно использует значительные объемы памяти для процессов или вы вышли за рамки этого и меняете местами. У вас должен быть мониторинг, чтобы предупреждать вас об этих проблемах.

Использование /proc/sys/vm/drop_caches обескуражен, если вы не знаете, что делаете. Подходящий документы ядра сказать это

Использование этого файла может вызвать проблемы с производительностью. Поскольку он отбрасывает кэшированные объекты, воссоздание отброшенных объектов может потребовать значительных затрат ввода-вывода и ЦП, особенно если они интенсивно использовались. По этой причине использование вне среды тестирования или отладки не рекомендуется.