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

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

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

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

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

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

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

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

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

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

Предвыборка

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

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

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

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

Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher
0x00000000 — компонент отключен
0x00000001 — ускорение запуска приложений
0x00000002 — ускорение загрузки системы
0x00000003 — ускорение запуска приложений и загрузки системы

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

Файлы prefetcher

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

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

Layout.ini

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


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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *