Директория Prefetch: что за папка и зачем она нужна. Prefetch что за папка можно ли удалить

Помощь 25.07.2019
Помощь

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


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

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

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

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

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management \ PrefetchParameters

В правой колонке окна редактора найдите параметр и посмотрите его текущее значение.

Скорее всего, это будет 3 . Именно это значение включает ускорение запуска приложений и системы. Если вы хотите полностью их отключить, измените значение на 0 . Для ускорения только приложений установите 1 , для ускорения загрузки только системы установите 2 . Чтобы изменения вступили в силу, перезагрузите компьютер.

Чуть менее распространённым является миф о том, что программы можно ускорить, если добавить в их ярлык ключ /prefetch:1 . Это действие якобы добавляет выбранную программу в папку Prefetch . В действительности же добавление ключа /prefetch:1 к ссылке на объект никаким образом на работу приложения не влияет, создавать же или не создавать файлы трассировки решает служба Prefetcher , которой виднее, какие приложение нуждаются в оптимизации запуска, а какие нет.

В Windows XP ключ /prefetch:1 по умолчанию добавляется к адресу файла в свойствах иконки запуска Windows Media Player. Что такое prefetch? У слова prefetch перевод на русский язык звучит как "предварительная выборка".


Смыслом этой функции является с Windows XP в целом. Она создает файлы в папке prefetch, содержащие информацию о путях к этим программам на жестком диске.


На сайтах в топе Яндекса по запросу "windows prefetch" можно найти некоторую дезинформацию об этой функции в Windows XP. В частности, на сайтах netler и izcity авторы поддерживают мифы о том, что для ускорения загрузки программ нужно добавлять в адресные строки их ярлыков ключ /prefetch: 1 , и что для ускорения загрузки системы нужно периодически удалять все файлы формата pf из папки prefetch .

В Windows XP папка Prefetch расположена обычно по адресу C:\windows\prefetch. В ней находятся файлы Prefetch с расширением *.pf - это списки файлов для загрузки, так называемые, хэш файлы. Их имена генерируются при хэшировании EXE файлов после загрузки. Каждый раз, когда Вы запускаете EXE файлы, происходит их хэширование и проверка, есть ли соответствующие им.pf файлы в папке Prefetch , и если да, то загружаются эти файлы. Если соответствующие файлы prefetch не существуют, система отслеживает, какие файлы задействует при запуске EXE программа, создает этот.pf файл и сохраняет в него пути к этим файлам.

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

Следующий момент...

Некоторые "специалисты" стали добавлять ключ /prefetch:1 при запуске программ. Многие заметили, что в автоматически созданных ярлыках для Win Media Player присутствует этот ключ, и его значение варьируется в зависимости от выполняемых программой функций. Например, ярлыку файла WMV, по которому Вы дважды щелкаете для просмотра видео, присваивается один параметр ключа prefetch, ярлыку автозапуска для воспроизведения или копирования музыки, которые появляются, когда Вы вставляете аудио компакт-диск - другие параметры.

Некоторые специалисты предположили, что ключ /prefetch: 1 включает процесс предварительной выборки . И они сразу стали добавлять его к каждому исполняемому файлу и рекомендовать делать это другим на разных сайтах и форумах. И таким образом сформировался этот миф. Другие специалисты написали на своих сайтах, что это полное фуфло, и выдвинули теорию о том, что этот ключ специфичен только для WM Player, увидев ссылки на файлы prefetch в подсистеме драйверов Windows.

Вобщем, ни те ни другие нифига не угадали.

Операционная система смотрит на параметр /prefetch:#, когда создает процесс и делает она это только с одной единственной целью. Она добавляет порядковый номер к хэшу . Зачем?

WMP имеет много разных функций. Библиотеки и код, которые он задействует при воспроизведении WMV, сильно отличаются от библиотек, участвующих в воспроизведении DVD, копировании компакт-диска, прослушивании Shoutcast-потока или любой из функций Windows Media Player. Если бы для WMP был только один хэш, то предварительная выборка корректно работала бы только для одной из его функций. При считывании неверных данных из файла prefetch не было бы фатальной ошибки - файл.pf просто загрузился бы в память и не был использован. Тем не менее, это было бы контрпродуктивно.

Параметр /prefetch:# с разными числами для каждой функции Windows Media Player позволяет для каждой функции создать свой отдельный хэш файл, и таким образом предварительная выборка выполняется правильно. Такие параметры prefetch характерны не только для WMP. То же самое делается для любого другого приложения.

Параметр /prefetch: принимается во внимание, когда создается первый поток в процессе, но не удаляется функцией CreateProcess из командной строки, поэтому любое приложение, которое не вкуривает неизвестные параметры командной строки, не будет работать с ним. Вот почему так много людей, заметили, что, например, Kazaa и многие другие программы выдавали ошибки или просто отказывались запускаться c windows prefetch. А WMPlayer конечно знает, что ключ может быть указан в параметрах, и просто молча игнорирует его существование.

Все что делает ключ /prefetch:# - изменяет хэш номер. Операционная система загружает программу с ним точно так же, как и без него, просто сохраняя данные о предварительной выборке в другой.pf файл .

В процессе изучения Windows 7, 8, 10, либо устранения возникших проблем, Вы столкнетесь с необходимостью знакомства с компонентами и предназначения папок ОС. В данном материале разберем такие вопросы: Prefetch - что за папка, можно ли удалить, и где она находится.

Расположение и функции папки Prefetch

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

Папка Prefetch находится в каталоге ОС, полное расположение выглядит так:

C:\Windows\Prefetch. В вашем конкретном случае метка тома может отличаться.

Перейдя в папку, Вы увидите каталог ReadyBoot и файлы в основном с расширением pf. Например, загрузка ОС трассируется в файл с названием NTOSBOOT-B00DFAAD.pf. Все остальные элементы являются трассировками запуска программ и служебных компонентов. Файлы имеют в названии имя исполняемого файла, его шестнадцатеричного хеша пути и расширение, например, EXCEL.EXE-53A22446.pf.

Работу по формированию файлов трассировки выполняет компонент Prefetcher, но без функционирующего планировщика заданий Prefetcher будет работать неправильно. Данные поступившие от Prefetcher обрабатываются планировщиком заданий и далее записываются в папку Prefetch.

Также стоит обратить внимание на файл Layout.ini. Он создается каждые 3 дня и хранит в себе данные (перечень файлов и папок), которые используются при запуске системы и программ. Данные из Layout.ini использует утилита дефрагментации диска для рационального размещения файлов на жестком диске.

Мифы про удаление содержимого папки Prefetch

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

Папка Prefetch является самообслуживающейся, нет необходимости удалять или очищать ее содержимое. Windows поддерживает определенное число записей в Prefetch и очищает автоматически излишние данные, предотвращая увеличение объемов папки. Если Вы опустошите содержимое папки вручную, тогда Windows и программы займут больше времени для запуска при следующем включении компьютера. Удаленные данные будут воссоздаваться, что приведет к длительному времени загрузки. Удалять папку Prefetch или ее содержимое с точки зрения освобождения памяти на жестком диске бессмысленно, тат как она весит мало. В нашем случае это около 40 мб.

Управление компонентами SuperFetch и Prefetch

По умолчанию Windows 7, 8, 10 отключает автоматически SuperFetch и Prefetch при обнаружении загрузки системы с SSD. Для SSD данные технологии не представляют ценности и вовсе тормозят процессы запуска, излишними операциями. Если ОС автоматически для SSD не отключила данные компоненты, тогда читайте инструкцию ниже.

SuperFetch – это служба, которая предсказывает, какие приложения Вы будете запускать дальше, и предварительно загружает эти данные в память. Windows дает возможность пользователю изменить настройки или отключить SuperFetch и Prefetch, через реестр и службы ОС. Если Вы используете традиционный HDD, тогда эти функции отключать не рекомендуется.

Важно! Во избежание ошибок, сделайте резервную копию реестра или точку восстановления системы.

8,10. В реестре перейдите до раздела PrefetchParameters (путь внизу скриншота). Обратите внимание на 2 параметра EnablePrefetcher, EnableSuperfetch.

Значения для EnablePrefetcher:

  • 0 – отключение;
  • 1 - Включение для запуска приложений;
  • 2 - Включение для запуска системы;
  • 3 - Включение для запуска приложений и системы.

По умолчанию задано значение 3, измените его на 0 или на 1, 2. После изменений кликните OK.

Значения для EnableSuperfetch:

  • 0 – отключение;
  • 1 - Включение для загрузочных файлов;
  • 2 - Включение для приложений;
  • 3 - Включение для загрузочных файлов и приложений.

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

Удаление ненужных файлов

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

Папки Temp расположены в двух местах: C:\Windows\Temp и C:\Documents and Settings\Имя_пользователя\LocalSettings\Temp. По умолчанию папка Local Settings является скрытой, поэтому, чтобы увидеть эту папку, вам придется включить соответствующую опцию. Теперь перейдите в эти папки и удалите все содержимое.

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

Что такое папка Prefetch

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

Очистка папки Prefetch

Разработчики из Microsoft решили, что папки Temp занимают слишком маленький объем вашего дискового пространства, так почему бы не создать еще одну папку, выполняющую аналогичные действия? Большое спасибо! Нет, правда, спасибо.

Вероятно, у нас очень мало папок, которые просто съедают свободное дисковое пространство. Теперь, кроме папки Temp, у нас есть замечательная папка Prefetch. Функции этой папки отличаются от функций, выполняемых папкой Temp, однако, как и в папке Temp, в ней может веками храниться мусор, если вы не удалите его вручную. Поэтому советую периодически очищать эту папку (C:\Windows\Prefetch). И не волнуйтесь, система от этого не пострадает. Любые удаленные файлы, которые необходимы Windows, будут автоматически воссозданы.



Рекомендуем почитать

Наверх