Prefetcher: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Спасено источников — 4, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.7 |
|||
(не показано 10 промежуточных версий 8 участников) | |||
Строка 4: | Строка 4: | ||
Запуск Windows и приложений сопровождается чтением в память и обработкой огромного количества файлов. Зачастую один и тот же файл открывается по несколько раз для чтения различных сегментов. Такой нерациональный доступ к файлам занимает много времени. Гораздо эффективнее обращаться к каждому файлу только один раз, загружая информацию в оперативную память ещё до того, как она станет нужна программам. Prefetcher наблюдает за тем, какой [[Машинный код|код]] и данные (включая [[Master File Table|NTFS Master File Table]]) загружаются в процессе запуска операционной системы и приложений. Он накапливает эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках. |
Запуск Windows и приложений сопровождается чтением в память и обработкой огромного количества файлов. Зачастую один и тот же файл открывается по несколько раз для чтения различных сегментов. Такой нерациональный доступ к файлам занимает много времени. Гораздо эффективнее обращаться к каждому файлу только один раз, загружая информацию в оперативную память ещё до того, как она станет нужна программам. Prefetcher наблюдает за тем, какой [[Машинный код|код]] и данные (включая [[Master File Table|NTFS Master File Table]]) загружаются в процессе запуска операционной системы и приложений. Он накапливает эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках. |
||
Prefetcher наблюдает за запуском каждого приложения в течение первых 10 секунд. Наблюдение за процессом загрузки системы ограничено по времени и прекращается в следующих случаях<ref>[http://msdn.microsoft.com/en-us/magazine/cc302206.aspx Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS] — ''From the December 2001 issue of MSDN Magazine.''</ref>: |
Prefetcher наблюдает за запуском каждого приложения в течение первых 10 секунд. Наблюдение за процессом загрузки системы ограничено по времени и прекращается в следующих случаях<ref>[http://msdn.microsoft.com/en-us/magazine/cc302206.aspx Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS] {{Wayback|url=http://msdn.microsoft.com/en-us/magazine/cc302206.aspx |date=20150507002611 }} — ''From the December 2001 issue of MSDN Magazine.''</ref>: |
||
* по истечении 30 секунд с момента запуска [[Оболочка операционной системы|пользовательской оболочки]] |
* по истечении 30 секунд с момента запуска [[Оболочка операционной системы|пользовательской оболочки]] |
||
* по истечении 60 секунд с момента завершения инициализации всех [[Службы Windows|служб]] |
* по истечении 60 секунд с момента завершения инициализации всех [[Службы Windows|служб]] |
||
* по истечении 120 секунд с момента начала загрузки системы |
* по истечении 120 секунд с момента начала загрузки системы |
||
Файлы трассировки сохраняются в папке Prefetch корневого каталога Windows<ref name="vista">[http://windows.microsoft.com/en-US/windows-vista/What-is-the-prefetch-folder What is the prefetch folder?] — ''Windows Vista Help.''</ref> (обычно <code>C:\WINDOWS\Prefetch</code>). Загрузка операционной системы трассируется в файл <code>NTOSBOOT-B00DFAAD.pf</code>. Запуск программ трассируется в отдельные файлы, имена которых состоят из названия [[Исполняемый файл|исполняемого файла]] запускаемой программы, дефиса, [[Шестнадцатеричная система счисления|шестнадцатеричного]] [[Хеш-сумма|хеша]] [[Путь к файлу|пути]] к исполняемому файлу и расширения «.pf» (например: <code>EXPLORER.EXE-082F38A9.pf</code>). При запуске приложений, являющихся рабочей средой для других компонентов (например: <code>DLLHOST.EXE</code>, <code>[[Microsoft Management Console|MMC.EXE]]</code>, <code>[[Rundll32|RUNDLL32.EXE]]</code>), в хеш также добавляется имя загружаемого модуля, в итоге для разных компонентов создаются разные файлы трассировки (например: <code>MMC.EXE-0B0171A2.pf</code>, <code>MMC.EXE-393F4B82.pf</code>). |
Файлы трассировки сохраняются в папке Prefetch корневого каталога Windows<ref name="vista">[http://windows.microsoft.com/en-US/windows-vista/What-is-the-prefetch-folder What is the prefetch folder?] {{Wayback|url=http://windows.microsoft.com/en-US/windows-vista/What-is-the-prefetch-folder |date=20160529210616 }} — ''Windows Vista Help.''</ref> (обычно <code>C:\WINDOWS\Prefetch</code>). Загрузка операционной системы трассируется в файл <code>NTOSBOOT-B00DFAAD.pf</code>. Запуск программ трассируется в отдельные файлы, имена которых состоят из названия [[Исполняемый файл|исполняемого файла]] запускаемой программы, дефиса, [[Шестнадцатеричная система счисления|шестнадцатеричного]] [[Хеш-сумма|хеша]] [[Путь к файлу|пути]] к исполняемому файлу и расширения «.pf» (например: <code>EXPLORER.EXE-082F38A9.pf</code>). При запуске приложений, являющихся рабочей средой для других компонентов (например: <code>DLLHOST.EXE</code>, <code>[[Microsoft Management Console|MMC.EXE]]</code>, <code>[[Rundll32|RUNDLL32.EXE]]</code>), в хеш также добавляется имя загружаемого модуля, в итоге для разных компонентов создаются разные файлы трассировки (например: <code>MMC.EXE-0B0171A2.pf</code>, <code>MMC.EXE-393F4B82.pf</code>). |
||
Важную роль в работе компонента Prefetcher играет служба «[[Планировщик задач (сервис)|Планировщик заданий]]» ({{lang-en|Task Scheduler}}). «Планировщик заданий» анализирует данные, поступающие от Prefetcher, и записывает файлы трассировки в папку <code>%SystemRoot%\Prefetch</code>. Если служба не запущена, Prefetcher не будет работать правильно. «Планировщик заданий» также взаимодействует с программой [[Дефрагментация диска (компонент Windows)|дефрагментации диска Windows]]. Каждые три дня во время простоя компьютера в папке <code>%SystemRoot%\Prefetch</code> создается файл <code>Layout.ini</code>, в котором сохраняется список файлов и папок, использовавшихся при загрузке операционной системы и запуске программ. Дефрагментатор диска использует информацию из файла <code>Layout.ini</code> для оптимального физического размещения этих файлов на диске. |
Важную роль в работе компонента Prefetcher играет служба «[[Планировщик задач (сервис)|Планировщик заданий]]» ({{lang-en|Task Scheduler}}). «Планировщик заданий» анализирует данные, поступающие от Prefetcher, и записывает файлы трассировки в папку <code>%SystemRoot%\Prefetch</code>. Если служба не запущена, Prefetcher не будет работать правильно. «Планировщик заданий» также взаимодействует с программой [[Дефрагментация диска (компонент Windows)|дефрагментации диска Windows]]. Каждые три дня во время простоя компьютера в папке <code>%SystemRoot%\Prefetch</code> создается файл <code>Layout.ini</code>, в котором сохраняется список файлов и папок, использовавшихся при загрузке операционной системы и запуске программ. Дефрагментатор диска использует информацию из файла <code>Layout.ini</code> для оптимального физического размещения этих файлов на диске. |
||
Строка 15: | Строка 15: | ||
== Настройка == |
== Настройка == |
||
Параметры Prefetcher хранятся в [[Реестр Windows|системном реестре]] в разделе <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters</code><ref>[http://www.microsoft.com/whdc/archive/XP_kernel.mspx#E3KAC Kernel Enhancements for Windows XP] — ''Windows Hardware Developer Central. 13 January, 2003.''</ref>. Параметр <code>EnablePrefetcher</code> ''(DWORD)'' может принимать одно из следующих значений: |
Параметры Prefetcher хранятся в [[Реестр Windows|системном реестре]] в разделе <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters</code><ref>[http://www.microsoft.com/whdc/archive/XP_kernel.mspx#E3KAC Kernel Enhancements for Windows XP] {{Wayback|url=http://www.microsoft.com/whdc/archive/XP_kernel.mspx#E3KAC |date=20100924004928 }} — ''Windows Hardware Developer Central. 13 January, 2003.''</ref>. Параметр <code>EnablePrefetcher</code> ''(DWORD)'' может принимать одно из следующих значений: |
||
* 0x00000000 — компонент отключен |
* 0x00000000 — компонент отключен |
||
* 0x00000001 — ускорение запуска приложений |
* 0x00000001 — ускорение запуска приложений |
||
Строка 22: | Строка 22: | ||
Изменение параметра <code>EnablePrefetcher</code> вступает в действие немедленно. |
Изменение параметра <code>EnablePrefetcher</code> вступает в действие немедленно. |
||
<code>RootDirPath</code> |
|||
== Мифы и реальность == |
|||
Файл предварительной выборки системной, начальной загрузки расположен в каталоге %SystemRoot%\Prefetch и путь к нему задан именно этим параметром. |
|||
Значение по умолчанию = Prefetch |
|||
== Мифы == |
|||
Существует несколько распространенных '''мифов''' о Prefetcher: |
Существует несколько распространенных '''мифов''' о Prefetcher: |
||
* ''Добавление ключа «/prefetch:1» в строку запуска приложения ускоряет его загрузку.'' |
* ''Добавление ключа «/prefetch:1» в строку запуска приложения ускоряет его загрузку.'' |
||
⚫ | *: Этот миф основывается на том факте, что после установки операционной системы в строке запуска [[Windows Media Player]] изначально указан ключ «/prefetch:1». В реальности данный ключ инструктирует систему сохранять и использовать данные Prefetch для конкретного приложения под разными именами в зависимости от числа, указанного в ключе после двоеточия.<ref name="ryanmy">[https://docs.microsoft.com/en-us/archive/blogs/ryanmy/misinformation-and-the-the-prefetch-flag Misinformation and the The Prefetch Flag] {{Wayback|url=https://docs.microsoft.com/en-us/archive/blogs/ryanmy/misinformation-and-the-the-prefetch-flag |date=20210815030338 }} — MSDN Blogs. 25 May, 2005.''</ref> |
||
⚫ | Этот миф основывается на том факте, что после установки операционной системы в строке запуска [[Windows Media Player]] изначально указан ключ «/prefetch:1». В реальности |
||
* ''Удаление файлов из папки <code>%SystemRoot%\Prefetch</code> ускоряет работу компьютера.'' |
* ''Удаление файлов из папки <code>%SystemRoot%\Prefetch</code> ускоряет работу компьютера.'' |
||
⚫ | *: Этот миф основывается на предположении, что в папке <code>%SystemRoot%\Prefetch</code> скапливается слишком много файлов, поэтому Prefetcher начинает «тормозить» систему. В реальности очистка вышеуказанной папки приводит к замедлению работы компьютера до тех пор, пока трассировочные данные не будут снова накоплены<ref name="ryanmy" />. |
||
⚫ | Этот миф основывается на предположении, что в папке <code>%SystemRoot%\Prefetch</code> скапливается слишком много файлов, поэтому Prefetcher начинает «тормозить» систему. В реальности очистка вышеуказанной папки приводит к замедлению работы компьютера до тех пор, пока трассировочные данные не будут снова накоплены<ref name="ryanmy" />. |
||
* ''Со временем папка <code>%SystemRoot%\Prefetch</code> начинает занимать много места на диске.'' |
* ''Со временем папка <code>%SystemRoot%\Prefetch</code> начинает занимать много места на диске.'' |
||
⚫ | |||
⚫ | |||
== Примечания == |
== Примечания == |
||
Строка 47: | Строка 47: | ||
* [http://support.microsoft.com/kb/307498 How to Disable the Prefetcher Component in Windows XP] |
* [http://support.microsoft.com/kb/307498 How to Disable the Prefetcher Component in Windows XP] |
||
[[Категория: |
[[Категория:Технологии Windows]] |
||
[[Категория:Компоненты Windows]] |
|||
[[Категория:Администрирование Windows]] |
|||
[[en:Prefetcher]] |
|||
[[Категория:Службы Windows]] |
|||
[[ko:프리페처]] |
Текущая версия от 22:03, 16 мая 2022
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:\WINDOWS\Prefetch
). Загрузка операционной системы трассируется в файл 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_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
[3]. Параметр EnablePrefetcher
(DWORD) может принимать одно из следующих значений:
- 0x00000000 — компонент отключен
- 0x00000001 — ускорение запуска приложений
- 0x00000002 — ускорение загрузки системы
- 0x00000003 — ускорение запуска приложений и загрузки системы
Изменение параметра EnablePrefetcher
вступает в действие немедленно.
RootDirPath
Файл предварительной выборки системной, начальной загрузки расположен в каталоге %SystemRoot%\Prefetch и путь к нему задан именно этим параметром.
Значение по умолчанию = Prefetch
Мифы
[править | править код]Существует несколько распространенных мифов о Prefetcher:
- Добавление ключа «/prefetch:1» в строку запуска приложения ускоряет его загрузку.
- Этот миф основывается на том факте, что после установки операционной системы в строке запуска Windows Media Player изначально указан ключ «/prefetch:1». В реальности данный ключ инструктирует систему сохранять и использовать данные Prefetch для конкретного приложения под разными именами в зависимости от числа, указанного в ключе после двоеточия.[4]
- Удаление файлов из папки
%SystemRoot%\Prefetch
ускоряет работу компьютера.- Этот миф основывается на предположении, что в папке
%SystemRoot%\Prefetch
скапливается слишком много файлов, поэтому Prefetcher начинает «тормозить» систему. В реальности очистка вышеуказанной папки приводит к замедлению работы компьютера до тех пор, пока трассировочные данные не будут снова накоплены[4].
- Этот миф основывается на предположении, что в папке
- Со временем папка
%SystemRoot%\Prefetch
начинает занимать много места на диске.
Примечания
[править | править код]- ↑ Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS Архивная копия от 7 мая 2015 на Wayback Machine — From the December 2001 issue of MSDN Magazine.
- ↑ 1 2 What is the prefetch folder? Архивная копия от 29 мая 2016 на Wayback Machine — Windows Vista Help.
- ↑ Kernel Enhancements for Windows XP Архивная копия от 24 сентября 2010 на Wayback Machine — Windows Hardware Developer Central. 13 January, 2003.
- ↑ 1 2 3 Misinformation and the The Prefetch Flag Архивная копия от 15 августа 2021 на Wayback Machine — MSDN Blogs. 25 May, 2005.