Superfetch не кэширует весь большой файл, а только части, к которым осуществляется доступ. Таким образом, доступ к этому файлу требует чтения с диска. Дисковый кеш на 210 Мб, как мой, может кэшировать все, что угодно, из всех этих маленьких файлов в Windows. И производительность заметно. Однако я сомневаюсь, что это повлияет на более быстрые системы.
Как увеличить кеш диска 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 файлов?
3 ответа на вопрос
I've tried increasing the cache size using the CacheSet tool but any values I provide are considered out of range.
- Make sure that you explicitly run CacheSet "As Administrator". CacheSet will say that the values are out of range when anything goes wrong.
- Make sure that the cache size is divisible by 4 KB
Also, I noticed that CacheSet has some trouble with large values, possibly because it is a 32-bit application from 2006. I went and wrote a 64-bit program around the same API, which allows setting cache sizes over 4GB: http://blog.thecybershadow.net/2012/12/14/64-bit-cacheset/
Note: The CacheSet article mentions CacheMan, however the latest version seems to use the same API as CacheSet - it's just packaged into an UI with a bunch of presets and other functionality.
Я знаю, что это старый, но для тех, кто сталкивается с этой проблемой: вам нужно запустить CacheSet с правами администратора вручную. Если вы этого не сделаете, вы получите ошибку OutOfRange; он НЕ будет автоматически запрашивать привилегии.
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
5
Macbook Pro продолжает извлекать все, что я положил во внутренний оптический привод
-
4
Как заблокировать выровненные по правому краю панели инструментов в Windows 7, чтобы они не выглядел...
-
-
4
Функция Windows 7 «Aero Snap» в Ubuntu GNOME
-
7
Почему жесткие диски никогда не бывают такими большими, как рекламируются?
-
3
Мой второй жесткий диск не виден в Windows 7
-
7
Как заменить Блокнот в Windows 7?
-
2
Как расположить значки панели задач Windows 7 в 2 ряда?
-
1
Проблемы во время сна на Windows 7
-
3
Как я должен интерпретировать спецификации SSD?