Как увеличить кэш диска Windows 7

под Windows 7 (64 бит), я читаю через 9000 файлов среднего размера. Всего данных более 200 МБ. Используя Java (JDK 1.6.21), я перебираю файлы. Первые 1400 или около того идут на полной скорости, но затем скорость падает до 4 мс на файл. Получается, что основными затратами, просто открыв файлы.

Я открываю файлы с помощью new FileInputStream (и, конечно, закрывая их вовремя, чтобы избежать утечки файлов). После некоторого расследования, я вижу, что Дисковый кэш Windows использует только 100 Мб или около того оперативной памяти, хотя у меня есть 8 гиб. Я попытался увеличить размер кэша с помощью CacheSet инструмент, но любые значения, которые я предоставляю, считаются из серии.

Я также пытался включить LargeSystemCache раздел реестра, но (после перезагрузки)CacheSet инструмент по-прежнему указывает, что я использую 100 МБ кэша (и не увеличивается во время тестового запуска). Есть ли у кого-нибудь предложения "поощрять" Windows 7 к кэшировать файлы 9000?

7
задан Sathya
26.03.2023 13:06 Количество просмотров материала 3432
Распечатать страницу

3 ответа

Superfetch не кэширует все большие файлы, только части, к которым осуществляется доступ. Поэтому доступ к этому файлу требует чтения с диска. Дисковый кэш на 210 МБ, как у меня, может кэшировать все из всех этих небольших файлов в Windows. И производительность заметна. Однако я сомневаюсь, что это повлияет на более быстрые системы.

4
отвечен Soren 2023-03-27 20:54

Я попытался увеличить размер кэша с помощью инструмента CacheSet, но любые значения, которые я предоставляю, считаются вне диапазона.

  1. убедитесь, что вы явно запускаете CacheSet "от имени администратора". CacheSet скажет, что значения вне диапазона, когда что-нибудь идет не так.
  2. убедитесь, что размер кэша делится на 4 КБ

кроме того, я заметил, что CacheSet имеет некоторые проблемы с большими значениями, возможно потому что это 32-битное приложение с 2006 года. Я пошел и написал 64-битную программу вокруг того же API, которая позволяет устанавливать размеры кэша более 4 ГБ:http://blog.thecybershadow.net/2012/12/14/64-bit-cacheset/

Примечание: в статье CacheSet упоминается CacheMan, однако последняя версия, похоже, использует тот же API, что и CacheSet - он просто упакован в пользовательский интерфейс с кучей пресетов и других функций.

4
отвечен Vladimir Panteleev 2023-03-27 23:11

Я знаю, что это старый, но для других, кто столкнулся с такой проблемой: необходимо вручную запустить CacheSet с правами администратора. Если вы этого не сделаете, вы получите ошибку OutOfRange; он автоматически не права.

0
отвечен Jan Schejbal 2023-03-28 01:28

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх