
Когда приложение считывает файл с носителя, в первый раз время имеет значение, так как файл действительно считывается, иногда несколько минут. Но при последующих чтениях это занимает всего несколько секунд, и никакой дисковой активности нет. Я предполагаю, что это потому, что Windows сохраняет считанный файл в памяти.
Есть ли способ заставить Windows удалить кэш файла и заставить его снова считать его с носителя?
Очевидные обходные пути — отключить и снова подключить диск (если он внешний) или перезапустить Windows. Есть ли более простые варианты?
решение1
Легендарный программист Марк Руссинович создал большое количество инструментов, которые должны быть в наборе инструментов каждого администратора и разработчика Windows. Один из таких инструментов —RAMКартаВ Vista и более поздних версиях (и 2008R2 более поздней) RAMMap позволит вам освободить выбранные пулы памяти.
Нужная вам опция Empty
-> Empty Standby List
-- кэшированные страницы, которые чисты и, таким образом, могут быть освобождены, будут в списке ожидания. Обратите внимание, что вы не увидите никаких изменений на дисплее RAMMap, поскольку он не обновляется автоматически. Вы можете нажать , F5
чтобы обновить дисплей, или посмотреть в диспетчере задач или другом инструменте.
решение2
Да, есть программа, которая может автоматически сворачивать кэш файлов каждые 5, 10 или любое другое определенное пользователем количество минут. Основная цель программы — уменьшить использование памяти программами и процессами, но она также может автоматически очищать/сворачивать кэш файлов. Программа называется CLEANMEM и предлагает пользователю очень простой способ как автоматического, так и ручного сворачивания кэша файлов.