Как мне сохранить файл в кеше Windows 7?

1480
netvope

Иногда вы лучше, чем Windows, знаете, какие файлы будут использоваться позже. Предположим, у вас есть 8 ГБ памяти, и вы используете один и тот же файл 1 ГБ каждый час в приложении, связанном с вводом / выводом (для завершения которого требуется 1 секунда, если файл кэшируется, и 1 минута, если нет.) Теперь вы обрабатываете некоторые другие 16 ГБ. данных, которые не будут использоваться повторно. Естественно, часто используемый файл объемом 1 ГБ будет выталкиваться из кеша. Было бы полезно, если бы кто-нибудь сказал Windows сохранить этот файл объемом 1 ГБ в памяти. (А еще лучше, если вы скажете Windows не кэшировать эти 16 ГБ данных, но я не уверен, что это можно сделать.)

Ситуация хуже для файлов в общих сетевых ресурсах: Windows удаляет файлы из кэша, даже если есть свободная память. Если вы немедленно повторно используете файл, он все равно будет в кеше; но если вы закроете файл и подождите 30 секунд, кеш исчезнет, ​​и системе потребуется повторно извлечь файл с удаленного сервера. Для меня это очень заметно, потому что я подключен к сети 3 Мбит / с и работаю с файлами размером около 10 МБ.

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

(Если это легко сделать под Linux, пожалуйста, дайте мне знать.)

6

2 ответа на вопрос

3
Nifle

На ум приходят две вещи.

  1. Скопируйте файл на RamDisk перед первым использованием и переместите его обратно в файл, когда вы закончите с ним. ( RamSisk QSoft за $ 12 был рекомендован здесь )
  2. Купите быстрый SSD-накопитель и посмотрите, поможет ли это (достаточно)
Таким образом, нет способа сказать Windows хранить некоторые файлы в своем дисковом кеше, например. .Net Framework? OverTheRainbow 12 лет назад 0
OverTheRainbow: Нет, нет. Как эти программы получают доступ к этим файлам? MapViewOfFile, или традиционный ReadFile / WriteFile (тьфу)? Jamie Hanrahan 10 лет назад 0
0
User Hat

This is possible with certain types, for example dll:

Windows caches a set of dlls that are commonly used, these are the 'Known DLLs'. In order to keep a dll file cached it would just need to be part of that set.

ОП не спрашивает об известных DLL pun 8 лет назад 0
На самом деле, ОП не уточняет, о каком типе файла он говорит, хотя ссылки на «данные», сетевые ресурсы и Linux, похоже, исключают возможность того, что он спрашивает о DLL. (И теперь у меня будут кошмары о файле DLL 1 ГБ.) Scott 8 лет назад 1