Предвыборка и Cупервыборка

На этом уроке рассмотрим две технологии, которые ускоряют запуск часто используемых приложений и служб Windows. Это Предвыборка и Cупервыборка.










Подкачка по требованию




Windows использует алгоритм подкачки, который называется «Подкачка по требованию«. Это означает что при старте процесса в память загружаются не все данные, а только те, которые нужны для начала его работы.




Когда процесс только начинает работать, не все необходимые ему данные успевают подгрузиться в его рабочий набор. Процесс при этом получает много ошибок страниц (page fault). Когда процесс получает ошибку страницы, диспетчер памяти загружает нужную страницу в его рабочий набор, а в месте с ней ещё несколько страниц. Подгрузка дополнительных страниц вместе с основой призвана уменьшить нагрузку на дисковую подсистему.




Но все равно такая стратегия замедляет запуск приложений и служб Windows. С таким замедлением призваны бороться две технологии диспетчера памяти: Предвыборка и Cупервыборка.




Супервыборка




За супервыборку отвечает служба SysMain (ранее называлась SuperFetch). Она анализирует две вещи. Во-первых, какие приложения используются чаще всего. И во-вторых, к каким данным эти приложения обращаются чаще всего. Эти данные заранее помещаются в оперативную память (cache) для более быстрого доступа к ним.




Супервыборка может ускорить работу системы увеличив потребление оперативной памяти. Кроме этого, супервыборка способна продлить срок службы жестких дисков, так как на них уменьшается нагрузка. Помимо всего прочего служба SysMain сжимает и объединяет страницы памяти, повышая производительность системы в целом.




В итоге SuperFetch существенно увеличивает быстродействие системы и установленных программ. Поэтому отключать этот компонент настоятельно не рекомендуется.




Служба SysMain
Служба SysMain




Предвыборка




Предвыборка (PreFetcher) анализирует все запускаемые приложения в течении 10 секунд (при запуске). При этом запоминается какие файлы и данные загружались в оперативную память.




Когда процесс стартует, он постепенно подгружает необходимые ему данные. При этом несколько страниц памяти могут загрузиться из одного файла, затем несколько из другого, затем еще несколько из первого, и так далее.




Предвыборка анализирует какие страницы загружались и из каких файлов. А при следующем запуске этого приложения все необходимые ему данные разом загрузятся в оперативную память. Это уменьшит нагрузку на жёсткий диск и ускорит запуск приложения.




Отключить или включить PreFetcher можно редактируя параметр реестра:




КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParametersEnablePrefetcher
0x00000000 — компонент отключен
0x00000001 — ускорение запуска приложений
0x00000002 — ускорение загрузки системы
0x00000003 — ускорение запуска приложений и загрузки системы




Файлы  PreFetcher хранятся в каталоге C:WindowsPrefetch и имеют расширения pf:




Файлы prefetcher




Имена таких файлов состоят из имени приложения и хеша приложения.




SuperFetch также создает в этом каталоге файл Layout.ini:




Layout.ini




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








Вернуться к оглавлению



2021-09-09T12:28:51
Администрирование Windows