Jump to content

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

Prefetcher это компонент Microsoft Windows , который был представлен в Windows XP . [1] Это компонент диспетчера памяти , который может ускорить загрузки процесс Windows и сократить время, необходимое для запуска программ. Это достигается за счет кэширования файлов, необходимых приложению, в оперативной памяти при запуске приложения, таким образом объединяя операции чтения с диска и сокращая количество операций поиска на диске. Эта особенность описана в патенте США № 6633968. [2] [3]

Начиная с Windows Vista , функция Prefetcher была расширена за счет SuperFetch и ReadyBoost . SuperFetch пытается ускорить запуск приложений, отслеживая и адаптируясь к шаблонам использования приложений в течение определенного периода времени, а также заранее кэшируя большинство необходимых им файлов и данных в памяти, чтобы при необходимости к ним можно было получить очень быстрый доступ. ReadyBoost (если включен) использует внешнюю память, например USB-накопитель, для расширения системного кэша за пределы объема оперативной памяти, установленной на компьютере. ReadyBoost также имеет компонент ReadyBoot, который заменяет Prefetcher для процесса загрузки, если в системе имеется 700 МБ или более ОЗУ. [4]

При загрузке системы Windows компоненты многих файлов необходимо считать в память и обработать. Часто разные части одного и того же файла (например, кусты реестра) загружаются в разное время. В результате значительное количество времени тратится на «переходы» от файла к файлу и обратно несколько раз, хотя однократный доступ был бы более эффективным. Средство предварительной выборки работает, отслеживая, к каким данным осуществляется доступ во время процесса загрузки (включая данные, считанные из NTFS главной таблицы файлов ), и записывая файл трассировки этого действия. Сборщик загрузки будет продолжать отслеживать такую ​​активность в течение 30 секунд после запуска оболочки пользователя, или до 60 секунд после завершения инициализации всех служб, или до 120 секунд после загрузки системы, в зависимости от того, что наступит раньше.

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

Предварительная выборка приложений работает аналогичным образом, но вместо этого локализуется для запуска одного приложения. Контролируются только первые 10 секунд активности. [1] : 458 

Средство предварительной выборки сохраняет файлы трассировки в папке «Предварительная выборка» внутри папки Windows (обычно C:\Windows\Prefetch). Имя файла трассировки загрузки всегда NTOSBOOT-B00DFAAD.PFи файлы трассировки приложения представляют собой объединение имени исполняемого файла приложения, дефиса, шестнадцатеричного представления хеша пути, по которому находится файл, и расширения «.pf». Приложения, в которых размещаются другие компоненты (например, консоль управления Microsoft или Dllhost), также включают имя загруженного компонента в вычисляемый хэш; в результате для каждого компонента создаются разные файлы трассировки.

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

Чтобы еще больше сократить время доступа, планировщик задач вызывает дефрагментацию диска Windows каждые три дня. Когда машина простаивает, обрабатываются списки файлов и каталогов, на которые ссылались во время процесса загрузки и запуска приложений. [1] : 461–462  Обработанный результат сохраняется в Layout.ini в каталоге Prefetch и впоследствии передается программе дефрагментации диска, давая ей указание переупорядочить эти файлы в последовательные позиции на физическом жестком диске.

Это еще больше повысит производительность за счет сведения к минимуму расстояния, на которое головки жесткого диска должны перемещаться от одного файла к другому.

Это переупорядочение можно запустить (запустив «Defrag.exe %systemdrive% -b» из командной строки) без выполнения полной дефрагментации. [ нужна ссылка ]

Если система установлена ​​на твердотельный накопитель , ReadyBoost отключен.

Конфигурация

[ редактировать ]

Конфигурация Prefetcher хранится в реестре Windows по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters. Значение EnablePrefetcher может быть одним из следующих: [5]

  • 0 = отключено
  • 1 = предварительная выборка приложения включена
  • 2 = предварительная выборка загрузки включена (по умолчанию только в Windows Server 2003). [6]
  • 3 = предварительная выборка приложений и загрузки включена (по умолчанию в настольных версиях Windows). [5]

Рекомендуемое значение — 3 . [5] Значения выше 3 не увеличивают производительность, а изменение значения на 2 не приведет к ускорению загрузки Windows. [5]

Неправильная настройка префетчера

[ редактировать ]

Часто встречается в Интернете [7] это настройка приложения "/prefetch:1", [8] это действительный, но неправильно понятый переключатель. Он используется для различения разных режимов работы исполняемого файла в случае, если эти разные режимы будут иметь существенно разные трассировки предварительной выборки. [9]

Второй миф заключается в том, что пользователю следует удалить содержимое папки предварительной выборки, чтобы ускорить работу компьютера. Если это будет сделано, Windows придется заново создать все файлы предварительной выборки, тем самым замедляя работу Windows во время загрузки и запуска программы до тех пор, пока файлы предварительной выборки не будут созданы — если только предварительная выборка не отключена. [10] [11] [12] Windows хранит файлы предварительной выборки в папке Prefetch для 128 последних запущенных программ. [13]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с Руссинович, Марк ; Дэвид Соломон (2005). «Управление памятью». Внутреннее устройство Microsoft Windows (4-е изд.). Майкрософт Пресс. стр. 458–462 . ISBN  0-7356-1917-4 .
  2. ^ «Предварительная выборка страниц перед последовательностью жестких ошибок страниц» , патент США № 6,633,968 , получено 16 ноября 2023 г.
  3. ^ «Домашняя страница журнала MSDN» . Архивировано из оригинала 16 мая 2008 г. Проверено 23 февраля 2008 г.
  4. ^ «Внутри ядра Windows Vista» .
  5. ^ Jump up to: а б с д «Мифы о XP» . Архивировано из оригинала 8 апреля 2009 г. Проверено 17 марта 2009 г.
  6. ^ «Центр разработки оборудования для Windows» . Майкрософт .
  7. ^ «Дезинформация и флаг предварительной выборки» . Майкрософт . 25 мая 2005 года . Проверено 9 декабря 2008 г.
  8. ^ «Дезинформация и флаг предварительной выборки» . Забавно, в прошлый раз это сработало . Блоги MSDN. 25 мая 2005 года . Проверено 9 декабря 2008 г. Во-вторых, при запуске приложения можно указать флаг /prefetch:#flag. [...] Некоторые сайты догадались, что этот переключатель включает предварительную выборку, и предлагают добавить ее к каждому исполняемому файлу, который вам нужен [...]
  9. ^ «Дезинформация и флаг предварительной выборки» . Забавно, в прошлый раз это сработало . Блоги MSDN. 25 мая 2005 года . Проверено 9 декабря 2008 г. Оба предположения неверны . Флаг /prefetch:# проверяется операционной системой при создании процесса, однако у него есть одна (и только одна) цель. Добавляем переданное число в хеш. Почему? [~отрывок~]
  10. ^ Гралла, Престон (2007). Большая книга хаков для Windows . «О'Рейли Медиа, Инк.». ISBN  978-0-596-52835-5 .
  11. ^ «Остерегайтесь фиктивных советов по XP» .
  12. ^ «Windows XP: улучшения ядра создают более надежную, мощную и масштабируемую операционную систему» ​​. Архивировано из оригинала 16 мая 2008 г. Проверено 23 февраля 2008 г.
  13. ^ «Дезинформация и флаг предварительной выборки» . Забавно, в прошлый раз это сработало . Блоги MSDN. 25 мая 2005 года . Проверено 9 декабря 2008 г. Во-первых, XP в любом случае просто воссоздаст эти данные; во-вторых, он все равно обрезает файлы, если их больше 128, чтобы не занимать место без необходимости.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 45a6c1c55a51e5a74b97ae60b1b84ca7__1715569260
URL1:https://arc.ask3.ru/arc/aa/45/a7/45a6c1c55a51e5a74b97ae60b1b84ca7.html
Заголовок, (Title) документа по адресу, URL1:
Prefetcher - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)