Меню Закрыть

Файлы prefetch что это

Содержание

Prefetcher — компонент операционной системы Microsoft Windows, ускоряющий процесс её начальной загрузки, а также сокращающий время запуска программ. Prefetcher впервые появился в операционной системе Windows XP. Начиная с Windows Vista, он был дополнен технологиями SuperFetch и ReadyBoost.

Содержание

Описание [ править | править код ]

Запуск Windows и приложений сопровождается чтением в память и обработкой огромного количества файлов. Зачастую один и тот же файл открывается по несколько раз для чтения различных сегментов. Такой нерациональный доступ к файлам занимает много времени. Гораздо эффективнее обращаться к каждому файлу только один раз, загружая информацию в оперативную память ещё до того, как она станет нужна программам. Prefetcher наблюдает за тем, какой код и данные (включая NTFS Master File Table) загружаются в процессе запуска операционной системы и приложений. Он накапливает эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках.

Prefetcher наблюдает за запуском каждого приложения в течение первых 10 секунд. Наблюдение за процессом загрузки системы ограничено по времени и прекращается в следующих случаях [1] :

  • по истечении 30 секунд с момента запуска пользовательской оболочки
  • по истечении 60 секунд с момента завершения инициализации всех служб
  • по истечении 120 секунд с момента начала загрузки системы

Файлы трассировки сохраняются в папке Prefetch корневого каталога Windows [2] (обычно C:WINDOWSPrefetch ). Загрузка операционной системы трассируется в файл NTOSBOOT-B00DFAAD.pf . Запуск программ трассируется в отдельные файлы, имена которых состоят из названия исполняемого файла запускаемой программы, дефиса, шестнадцатеричного хеша пути к исполняемому файлу и расширения «.pf» (например: EXPLORER.EXE-082F38A9.pf ). При запуске приложений, являющихся рабочей средой для других компонентов (например: DLLHOST.EXE , MMC.EXE , RUNDLL32.EXE ), в хеш также добавляется имя загружаемого модуля, в итоге для разных компонентов создаются разные файлы трассировки (например: MMC.EXE-0B0171A2.pf , MMC.EXE-393F4B82.pf ).

Важную роль в работе компонента Prefetcher играет служба «Планировщик заданий» (англ. Task Scheduler ). «Планировщик заданий» анализирует данные, поступающие от Prefetcher, и записывает файлы трассировки в папку %SystemRoot%Prefetch . Если служба не запущена, Prefetcher не будет работать правильно. «Планировщик заданий» также взаимодействует с программой дефрагментации диска Windows. Каждые три дня во время простоя компьютера в папке %SystemRoot%Prefetch создается файл Layout.ini , в котором сохраняется список файлов и папок, использовавшихся при загрузке операционной системы и запуске программ. Дефрагментатор диска использует информацию из файла Layout.ini для оптимального физического размещения этих файлов на диске.

Читайте также:  Как записать последние 5 минут игры

Настройка [ править | править код ]

Параметры Prefetcher хранятся в системном реестре в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters [3] . Параметр EnablePrefetcher (DWORD) может принимать одно из следующих значений:

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

Изменение параметра EnablePrefetcher вступает в действие немедленно.

Файл предварительной выборки системной, начальной загрузки расположен в каталоге %SystemRoot%Prefetch и путь к нему задан именно этим параметром.

Значение по умолчанию = Prefetch

Мифы [ править | править код ]

Существует несколько распространенных мифов о Prefetcher:

  • Добавление ключа «/prefetch:1» в строку запуска приложения ускоряет его загрузку. Этот миф основывается на том факте, что после установки операционной системы в строке запуска Windows Media Player изначально указан ключ «/prefetch:1». В реальности добавление этого ключа само по себе не дает никакого эффекта, а в некоторых случаях приложение может отказаться запускаться совсем [4] .
  • Удаление файлов из папки %SystemRoot%Prefetch ускоряет работу компьютера. Этот миф основывается на предположении, что в папке %SystemRoot%Prefetch скапливается слишком много файлов, поэтому Prefetcher начинает «тормозить» систему. В реальности очистка вышеуказанной папки приводит к замедлению работы компьютера до тех пор, пока трассировочные данные не будут снова накоплены [4] .
  • Со временем папка %SystemRoot%Prefetch начинает занимать много места на диске. В целях экономии дискового пространства максимальное количество трассировочных файлов ограничено 128 [4] . Очистка папки %SystemRoot%Prefetch не требуется, так как Prefetcher обслуживает себя автоматически без участия со стороны пользователя [2] .

Навигация

Официальный сайт Superfetch

Новости

22 октября, 2018
По просьбе пользователей, мы описали основные причины: Почему зависает или тормозит компьютер, и что с ним делать?

16 октября, 2018
Мы выпустили вторую версию программы superfetch.exe. Теперь можно отключить: SuperFetch, Prefetch, ReadyBoot, это возможно существенно ускорит скорость работы Вашего компьютера!

28 Сентября, 2018
Мы выпустили первую версию программы superfetch 1.00 для быстрого включения/отключения superfetch.

Ждем Ваших отзывов и предложений!

Что такое prefetch и почему его отключают?

Изначально служба prefetch разрабатывалась как отдельный компонент ОС Windows (начиная с ОС Windows XP) для ускорения запуска системы и приложений. Все это было в далеком 2001 году. Представляете конфигурацию компьютеров в те времена?

Читайте также:  Почему телефон самсунг не видит сим карту

Теперь вернемся в наш 2018 год.

Проблема кэширования данных уже давно решена на аппаратном уровне и заложена в любой жесткий диск с магнитным накопителем. Где для кэширования данных есть собственная память, объем которой рассчитывается исходя из скорости вращения диска, чтобы соответсвовать максимальной пропускной способности для интерфейсов подключения (IDE, далее SATA и прочие).

Почему надо отключать эту службу? Служба prefetch (в списке служб она называется prefetcher) наблюдает за запуском приложений и создает файлы трассировки оптимизации кода. Эта сложная структура кэша исполняемого кода, которая собирается ограниченное время (10 секунд после запуска) и подставляется в память при повторном запуске приложений. Отключают эту службу потому, что время потраченное на создание трассировки, намного больше, чем время и скорость считывания данных с современных жестких дисков. Тем более появились более быстрые SSD диски.

Microsoft в принудительном порядке отключает prefetch на собственных планшетах линейки Surface.

Так как, это обусловлено экономией места на накопителях и увеличением производительности системы! Почему Microsoft не дает возможность отключать самостоятельно prefetch — загадка, скорей всего это делается в маркетинговых целях.

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

Prefetch: что за папка

Рассмотрение вопроса начнем с подачи теоретического материала. При старте операционная система отслеживает процесс загрузки, сохраняя о нем все данные для ускорения последующего запуска в каталоге Prefetch. Что за папка перед нами?

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

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

Читайте также:  Антибаннер рекламы для яндекс браузера

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

Папка Prefetch в Windows 7 и выше: стоит ли ее очищать

Удаление данных из этого каталога никаких критических изменений в работе системы или установленных программ не вызовет.

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

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

Управление содержимым каталога Prefetch

Если уж кому-то не нужна эта служба, от нее можно избавиться. Для этого следует войти в редактор системного реестра (команда regedit в меню «Выполнить», вызываемом сочетанием Win + R).

Здесь нужно выбрать ветку HKLM, а затем через системный каталог (SYSTEM) и настройки текущих параметров контроля (CurrentControlSet) спуститься до раздела инспектирования памяти, где и находится искомый каталог PrefetchParameters. В нем содержатся ключи формата 0x0000000z, где «z» может принимать четыре варианта значений:

  • 0 – полное отключение;
  • 1 – ускорение только запуска программ;
  • 2 – оптимизация только загрузки Windows;
  • 3 – задействование функции в полном объеме (и для системы, и для приложений).

Те же настройки можно произвести и в редакторе групповых политик или в инструментарии администрирования компьютера.

Остается добавить, что каталог располагается в системном разделе по пути Windows/Prefetch. Что за папка и для чего она нужна, думается, уже понятно. Если дать небольшой совет напоследок, лучше не заниматься очисткой содержимого каталога или изменением параметров службы, установленных в системе по умолчанию.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.