«Предварительная выборка и Супервыборка в Windows 7
20.09.2009 22:12
В этой статье мы разъясним значение компонентов Prefetcher (предварительная выборка) и Superfetch (супервыборка) в Windows 7, а также влияние Prefetcher и Superfetch на ускорение запуска Windows 7 и установленных программ.
Prefetcher – Предварительная выборка
Prefetcher (предварительная выборка) – это компонент менеджера памяти Windows 7, отвечающий за оптимальную загрузку операционной системы и часто используемых программ. Само название компонента раскрывает его назначение: предварительная выборка – это выбор и загрузка в оперативную память данных, необходимых для запуска определенных процессов перед тем, как эти процессы будут запущены. Компонент предварительная выборка впервые был внедрен в Windows XP, и в Windows 7 он был существенно переработан и улучшен.
Принципы работы предварительной выборки
Чтобы улучшить производительность, менеджер кэша Windows 7 отслеживает процесс обмена данными между жестким диском и оперативной памятью, а также между оперативной памятью и виртуальной памятью во время загрузки операционной системы и во время запуска программ. Отслеживая эти операции, менеджер кэша создает карты ссылок на все папки и файлы, которые используются во время запуска каждого приложения или процесса. Эти карты ссылок сохраняются в файлы с расширением .pf в папке C:WindowsPrefetch.
Во время последующих запусков Windows 7, карты ссылок считываются и в оперативную память загружаются указанные в них данные. В результате, запуск соответствующих приложений и процессов происходит быстрее за счет минимального количества обращений к жесткому диску.
SuperFetch – Супервыборка
Супервыборка выполняет все функции предварительной выборки, плюс несколько дополнительных функций. Преимущество супервыборки в том, что она лишена одного из самых главных недостатков технологии Предварительной выборки. Предварительная выборка загружает в память большинство файлов и данных, необходимых для запуска приложения или процесса, чтобы повысить скорость его запуска. Но когда другие приложения обращаются к памяти, предвыбранные данные выгружаются на жесткий диск, в файл подкачки. И когда эти данные потребуются снова, система будет загружать их обратно из файла подкачки в память, что непременно скажется на скорости запуска соответствующего приложения или процесса.
Супервыборка обеспечивает более устойчивый прирост производительности. В дополнение к созданию файлов с картами ссылок, супервыборка создает конфигурации используемых приложений. Эти конфигурации содержат информацию о том, как часто и когда используются те или иные приложения. Супервыборка отслеживает активность приложений в созданной конфигурации и отмечает, когда и какие предвыбранные данные были выгружены в файл подкачки. После выгрузки предвыбранных данных в файл подкачки, супервыборка контролирует исполнение приложения, из-за которого предвыбранные данные были выгружены, и сразу после завершения работы этого приложения, ранее выгруженные предвыбранные данные снова загружаются в память. Таким образом, когда вы снова обратитесь к часто используемому приложению, предвыбранные данные снова будут в памяти, и это приложение быстро запустится.
Таким образом, компонент SuperFetch (супервыборка) существенно увеличивает быстродействие системы и установленных программ, поэтому отключать этот компонент настоятельно не рекомендуется.»
а также вот это:
«отключить Prefetch и Superfetch и их службы или изменить параметры кэширования…у тебя 3 стоит по умолчанию
только подумай нужно ли тебе её полностью отключать, если памяти меньше 2 гиг. то стоит, а так…
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters выбрать параметр EnablePrefetcher и установить значение:
Параметр EnablePrefetcher может иметь 4 значения.
0 — отключить кеширование файлов;
1 — кешировать исполняемые файлы приложений;
2 — кешировать загрузочные файлы;
3 — кешировать максимально возможное количество файлов.
Удаляем файлы prefetch автоматически
Для этого создаем командный файл (*.bat) следующего содержания:
del c:WindowsPrefetch*.* /Q
В случае, если ваша папка находится не на диске С: то смените имя диска.
Очистка этой папки ускорит быстродействие вашей системы.
а так в любом чистильщике укажи данную папку на очистку
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters
EnableSuperfetch =
0 полностью отключить Superfetch
1 включить Superfetch тогда, когда запущены программы
2 включить Superfetch при загрузке
3 включить Superfetch везде, где можно и не нужно «
Возникла пара вопросов:
— ставить ли Prefetch и Superfetch вместе или достаточно одного Superfetch (поскольку, насколько я понял, Superfetch включает в себя Prefetch)
— какое число ставить 2 или 3 в «EnableSuperfetch=» и «EnablePrefetcher=»?! Ведь, насколько я понимаю, постоянное кеширование может сократить fps в симуляторе?