Этот вопрос закрыт для ответов, так как повторяет вопрос При записи данных в файл, они остаются в кеше ОС для возможности чтения из кеша?
Driver86
@Driver86
Немодератор toster.ru

После записи данных в файл, ОС при их чтении отдаст из кеша или с диска?

Есть большой файл. В который данные пишутся только вконец. ОС, как я понимаю, кеширует эти данные (т.е. не сразу сбрасывает на диск, а оставляет в памяти).
Так вот, два вопроса:
1. Читаем эти же данные (т.е. укажем смещение (которое равно предыдущей (до записи) длине файла) и длину только что записанных данных), ОС поймёт, что читаются именно те данные, которые записались и закешировались, и выдаст ли ОС эти данные из кеша?
2. Тот же самый вопрос, но если до чтения этих же данных были ещё новые данные дописаны.

Спрашиваю это вот почему. Есть приложение, которое хранит минифайлы склеенными в одном большом мегафайле (это для обхода ограничений на inodes). Минифайлы записываются в один поток всегда вконец мегафайла, никогда не модифицируются и не удаляются из мегафайла. И, как показывает практика, чаще всего именно только что записанный минифайл потребуется. И потребуется один раз, потом - намного реже. Т.е. логично его кешировать не по факту чтения, а по факту записи (тем более он уже в оперативной памяти при записи). А после чтения тут вообще логичнее наоборот, удалять его из кеша. Есть смысл сохранять его в кеше средствами приложения (например, в tmpfs), либо ОС сама это сделает через свой кеш?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
justhostRU
@justhostRU
зависит от настройки swappiness
типа ФС.
ну и на худой конец
vm.vfs_cache_pressure=50
vm.dirty_writeback_centisecs=15000
vm.overcommit_ratio = 100
vm.overcommit_memory = 1
Ответ написан
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
дубли это зло, не делайте дублей
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы