Иногда Вы знаете лучше, чем Windows, какие файлы будут снова использованы позже. Предположим, что у Вас есть 8 ГБ памяти, и Вы используете тот же файл на 1 ГБ каждый час в приложении I/O-bound (который занимает 1 секунду, чтобы закончиться, если файл кэшируется, и 1 минута если нет.) Теперь Вы обрабатываете некоторых других 16 ГБ данных, которые не будут снова использованными. Естественно часто используемый файл на 1 ГБ будет продвинут из кэша. Это было бы выгодно, если можно сказать Windows сохранять тот файл на 1 ГБ в памяти. (Еще лучше было бы замечательно, если можно сказать Windows не кэшировать тех 16 ГБ данных, но я не оптимистичен, что это может быть сделано.)
Ситуация хуже для файлов в сетевых ресурсах: Windows удаляет форму файлов кэш, даже если существует свободная память. Если Вы сразу снова используете файл, то это все еще будет в кэше; но если Вы закрываете файл и ожидаете в течение 30 секунд, кэша не стало, и система должна будет повторно выбрать файл от удаленного сервера. Для меня это очень примечательно, потому что я нахожусь на сетевом канале на 3 Мбит/с, и я работаю с файлами, которые составляют приблизительно 10 МБ в размере.
Способ плохого человека сохранить файл в кэше состоял бы в том, чтобы продолжать читать файл. Есть ли какие-либо лучшие пути? Вы знаете о каких-либо программах, которые делают это?
(Если это может быть легко сделано в соответствии с Linux, сообщите мне также.)
Две вещи приходят на ум.