Предварительная выборка и Супервыборка в Windows 7

В этой статье мы разъясним значение компонентов Prefetcher (предварительная выборка) и Superfetch (супервыборка) в Windows 7, а также влияние Prefetcher и Superfetch на ускорение запуска Windows 7 и установленных программ.

Prefetcher – Предварительная выборка

Prefetcher (предварительная выборка) – это компонент менеджера памяти Windows 7, отвечающий за оптимальную загрузку операционной системы и часто используемых программ. Само название компонента раскрывает его назначение: предварительная выборка – это выбор и загрузка в оперативную память данных, необходимых для запуска определенных процессов перед тем, как эти процессы будут запущены. Компонент предварительная выборка впервые был внедрен в Windows XP, и в Windows 7 он был существенно переработан и улучшен.

Принципы работы предварительной выборки

Чтобы улучшить производительность, менеджер кэша Windows 7 отслеживает процесс обмена данными между жестким диском и оперативной памятью, а также между оперативной памятью и виртуальной памятью во время загрузки операционной системы и во время запуска программ. Отслеживая эти операции, менеджер кэша создает карты ссылок на все папки и файлы, которые используются во время запуска каждого приложения или процесса. Эти карты ссылок сохраняются в файлы с расширением .pf в папке C:\Windows\Prefetch.

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

Сколько места на жестком диске требуется для работы Prefetcher

Для функционирования предварительной выборки требуется несколько мегабайт места на жестком диске – обычно не более 25 мегабайт для хранения файлов в папке C:\Windows\Prefetch. В этой папке хранятся только карты ссылок на файлы и папки, необходимые для запуска приложений и процессов.

Нет никакой необходимости в периодической очистке папки Prefetch. Во-первых, количество часто используемых программ ограничено. Во-вторых, если какие-то программы перестают использоваться часто, их запуск перестает оптимизироваться.

Таким образом, функция предварительной выборки в целом повышает быстродействие системы. Отключение предварительной выборки или периодическая ручная очистка папки Prefetch снизят, а не повысят скорость работы Windows 7.

Настройка и отключение предварительной выборки

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

Откройте Пуск, введите в поисковую строку regedit и нажмите Ввод.

regedit

В открывшемся окне редактора реестра раскройте HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Дважды щелкните параметр EnablePrefetcher.

1. Чтобы отключить предварительную выборку, установите значение 0.

Начиная со следующего запуска Windows 7, оптимизация запуска операционной системы и часто используемых программ производиться не будет.

2. Чтобы включить предварительную выборку для часто используемых программ, установите значение 1.

Начиная со следующего запуска Windows 7, будет оптимизироваться запуск часто используемых программ, но не будет оптимизироваться запуск операционной системы.

3. Чтобы включить предварительную выборку для Windows 7, установите значение 2.

Начиная со следующего запуска Windows 7, будет оптимизироваться запуск операционной системы, но не будет оптимизироваться запуск часто используемых программ.

4. Чтобы включить предварительную выборку, установите значение 3 (рекомендуемое значение, установлено по умолчанию).

Начиная со следующего запуска Windows 7, будет оптимизироваться и запуск операционной системы, и запуск часто используемых программ.

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

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

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

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

Настройка, отключение и включение супервыборки

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

Откройте Пуск, введите в поисковую строку regedit и нажмите Ввод.

regedit

В открывшемся окне редактора реестра раскройте HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Дважды щелкните параметр EnableSuperfetch.

1. Чтобы отключить супервыборку, установите значение 0.

2. Чтобы включить супервыборку для часто используемых программ, установите значение 1.

3. Чтобы включить супервыборку для Windows 7, установите значение 2.

4. Чтобы включить супервыборку, установите значение 3 (рекомендуемое значение, установлено по умолчанию).

Также можно полностью отключить супервыборку, отключив её службу и запретив её запуск. Чтобы сделать это, откройте Панель управления -> Администрирование -> Службы (можно открыть меню Пуск, ввести в поисковую строку services.msc и нажать Ввод).

В списке служб найдите службу Superfetch и откройте её свойства двойным щелчком мыши.

superfetch

На вкладке Общие нажмите кнопку Остановить и в раскрывающемся списке Тип запуска выберите Отключена.

Нажмите ОК.

Питание и производительность

Новые статьи

Комментарии (10) к “Предварительная выборка и Супервыборка в Windows 7”

Ну вот.Теперь все понятно!
Я сразу понял,что когда система(сразу после загрузки) использует 2 Гига оперативки(при моих 4-ех),это наводит на мысли ,что она с ними работает…
Теперь я знаю как.
Спасибо за статью,написана грамотно и доходчиво.
Удачи авторам в их не легком деле.
=)

Спасибо за статью.

Здравствуйте.Просмотрел Ваш сайт,очень грамотно и толково все описано,ни чего лишнего,у меня есть вопрос,если у Вас есть возможность ответьте.У меня установлена Win 7 x 64 и возникла такая проблема:в режиме ожидания используется примерно 1-1.5 гиг оперативки,но при выходе в интернет или при использовании таких программ как Download Master,USDownloader sborka ot blackmanos использование оперативки возростает до 3-3.7 гиг,такое впечатление что память не хочет выгружаться(памяти 4 гиг установлено).Раньше такого не происходило,страшно тормозит системник,просмотрев некоторые форумы толком ни чего не нашел,если у Вас есть какие то варианты и Вас не затруднит то ответьте пожалуйста.

ovod у меня аналогичная проблема – Win 7 x64 вот только памяти 6Gb…
После непродолжительного использования разных программ память совсем заканчивается и система начинает вопить что ей и 6 гигов мало. Жуткую вещь сделала Microsoft.

Sub-Zero, выборки (технология) и утечка памяти (ошибка) – это разные вещи. Выборки сами по себе утечку памяти не вызывают (проверено!). На вашем месте я бы тщательно продиагностировал своё железо и весь установленный софт, и выявил реальную причину проблемы, пока более серьезные сбои не начались. То, что у вас происходит – это следствие, а не причина.

Проверил систему на вирусы,обнаружил пару штук,установил оптимизатор памяти из программы Advanced SystemCare,вроде проблемы прекратились,в режиме ожидания 900-1200 мб,программа проверки памяти на наличие ошибок ни чего не обнаружила,может проблема была в вирусах.Каким способом проводить диагностику железа,какая это может быть проблема-системная или техническая?????????? И кстати не мешало бы форум!!!!!!!!!!!!! P.S Очень не плохой сайт,желаю удачи в развитии!!!

Здравствуйте.Просмотрел Ваш сайт,очень грамотно и толково все описано, но у меня такая же проблема У меня установлена Win 7 x 32 и возникла такая проблема:в режиме ожидания используется примерно 1-1.5 гиг оперативки,но при выходе в интернет или при использовании таких программ как Download Master,USDownloader sborka ot blackmanos использование оперативки возростает до 2 гиг,такое впечатление что память не хочет выгружаться(памяти 2 гиг установлено).Раньше такого не происходило,страшно тормозит системник,просмотрев некоторые форумы толком ни чего не нашел,если у Вас есть какие то варианты и Вас не затруднит то ответьте пожалуйста.железо новое ,на вирусы почти проверено всем,вирусов нет,может сама сборка виенны такая.

С Download Master проблем никаких не замечаю, хотя на Windows 7 активно использую уже почти год (еще с беты и релиз-кандидата). USDownloader не знаю, сказать ничего не могу.

Спасибо за добрые слова по поводу сайта :)

Здравствуйте !
Так что можете посоветовать с моей проблемой!может есть какой то форум или сайт!
Может в виенне что то включить или выключить надо?

ИМХО – полезно ТОЛЬКО при работе с очень тяжелым на подъем приложениями. Разница в 1 секунде при загрузке Вордов и прочего лично для меня не стоит того, чтобы отдавать под что-то ОП. Если ускорение загрузки оси еще можно оставить, то приложения – блажь. Постоянно занят либо кусок ОП, либо кусок свопли.

В ХР папка стандартно пустая, Префетч не работает. 1-2 секунды на запуск офисов, 5 секунд на запуск СУБД, 8-10 секунд на ФШ.
Компу 3 года.

Комментирование закрыто.

Есть вопрос? Задайте его на форуме.