c windows 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 для оптимального физического размещения этих файлов на диске.

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

Параметры 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 — загадка, скорей всего это делается в маркетинговых целях.

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

В Windows каталог Prefetch играет ту же роль, что и кэш в браузерах. Чтобы система или приложения запускались быстрее, Windows автоматически сохраняет часть их кода в особые файлы трассировки. Когда пользователь запускает, к примеру, ресурсоёмкое приложение, система сначала обращается к содержимому папки Prefetch, считывает сохранённую и «часть» программы в память, в результате чего последняя запускается быстрее.

В Windows папка Prefetch тесно связана с работой службы SuperFetch и компонента ReadyBoost, поэтому всякие действия с ней могут повлиять на их работу, причём не в лучшую сторону. Так, отключение службы SuperFetch может повлечь за собой снижение производительности системы на большинстве ПК за исключением либо старых машин с объёмом ОЗУ 1 Гб и менее, либо, напротив, очень мощных — с оперативной памятью более 16 Гб. Также SuperFetch может быть отключена, если в качестве системного диска используется SSD .

Что даст удаление содержимого папки Prefetch для оптимизации? Ничего, будет только хуже. Во-первых, время, необходимое на загрузку системы и некоторых программ увеличится, во-вторых, файлы PF будут созданы заново, на что системе опять придётся выделить часть ресурсов памяти. К тому же удаление каталога Prefetch ничуть не прибавит места на диске, так как весит эта папка обычно немного, а количество файлов в ней всегда ограничивается 128-ю.

Если вы так уже хотите управлять содержимым Prefetch, делать это нужно правильно, а именно — через реестр.

Откройте командой regedit редактор реестра и разверните эту ветку:

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: