Чи грає папка Prefetch якусь роль в оптимізації роботи Windows та додатків

Тепер про ще одну корисну функцію, ім'я їй Prefetch.
Ця функція покликана оптимізувати завантаження програм, які Ви завантажуєте. Щоб при наступному завантаженні вони завантажувалися швидше.
Якщо я правильно пам'ятаю.

Здавалося б, навіщо її чіпати?
Справа в тому, що згодом у папці Prefetch накопичується багато файлів від тих програм, які Ви заводили. А якщо ще щось ставили і видаляли, то файли в Prefetch від віддалених програм залишаються. І це починає гальмувати систему.
Оскільки під час завантаження системи windows намагається знайти всі файли, що значаться в Prefetch.

Немає однозначної думки, що з цим робити хтось радить видаляти очищувати цю папку при кожному завантаженні, хтось очищати раз на тиждень, більшість юзверів радить відключити взагалі.
Але, ця функція, безумовно, корисна.
Єдине що очищати її, якщо ви маєте властивість ставити та видаляти різні програми, можна і раз на два тижні.
Якщо просто користуєтеся вже поставленими програмами можна іноді очищати, коли згадаєте. :)
Ці ж файли, вірніше, їх спільний знаменник - файл \Windows\Prefetch\layout.ini - використовується потім дефрагментатором для оптимізації розташування файлів на диску, що ще більше скорочує час завантаження.

Якщо Ви ще не заплуталися, Prefetch це вбудована функція оптимізації.
Що вона робить?
Ця функція покликана скоротити час завантаження програм, що завантажуються при старті системи і ті, що Ви часто використовуєте.
Так ось в Prefetch містяться файли від найбільш часто завантажуваних програм, іноді не часто завантажуються. За яким принципом windows їх відбирає я не знаю. Може, як Бог на душу покладе.
А далі windows чекає, поки Ви залишите свій комп'ютер і підете покурити, попити чайку і т.д. Точно не пам'ятаю через якийсь час, на мою хвилину через 20 – 30 бездіяльності машини.
Windows згідно з даними папки Prefetch починає перемішати на початок диска програми, які часто використовуються для їх більш швидкого завантаження.
Так само як я згадував, вона оптимізує завантаження програм, крім їх переміщення.

Але часто оптимізуючи свою систему користувачі мимоволі відключають цю функцію.
Справа в тому для нормальної роботи ця служба потребує трьох речей, які часто відключають. Точніше дві з них відключають.
1. Вбудований дефрагментатор
2. планувальник завдань
3. Лікар Ватсон (хоча точно не пам'ятаю).

Бажано про це пам'ятати.

Тож ми можемо ще зробити.

1. Видалити або всі файли цієї папки або файли від тих програм, що вже відсутні на машині.

2. знайдіть HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\
Там є ключ EnablePrefetcher(REG_DWORD)
До нього застосовні значення (0, 1, 2, 3)
0 – вимкнено (Рекомендується для малопотужних комп'ютерів)
1 – рекомендується для комп'ютерів із ОЗУ до 256МБ (тільки програми)
2 – Для тих, у кого на борту від 512МБ і більше (програми та системні бібліотеки)
3 - Це вже розраховано для супер-пупер потужних робіт + мінімум ОЗУ 512Мб, хоча при LargeSystemCache = 1 чудово працює і на 256Мб ОЗУ.
Рекомендую EnablePrefetcher=3


"Enable"="Y"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
"OptimizeComplete"="Yes"

Є одна легенда, що ходить просторами мережі.
Що в Windows Vista всі програми будуть запускатися, і працювати на 15% швидше, ніж у Windows XP. Так що вам зовсім не потрібно чекати виходу Windows Vista, щоб відчути всі принади цього мультфільму, т.к. вони вже закладені у WinXP SP2! Залишилося тільки це мульку (Super Prefetch) увімкнути. Ця мулька працює ТІЛЬКИ під Windows XP SP2!

HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Session Manager\ Memory Management\PrefetchParameters\
1. Створюємо параметр типу
DWORD
Value Name: EnableSuperfetch
Value: 1

2. Хтось каже, що потрібно створити окремий розділ.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\
Створюємо розділ Prefetcher
Створюємо параметр типу
DWORD
Value Name: EnableSuperfetch
Value: 1

Думки поділяються, є коментарі про міф цього параметра, є ті, хто помітив збільшення продуктивності.
У будь-якому випадку, щоб перевірити. Ви нічого не втрачаєте і нічого не купуєте крім зайвого запису в реєстрі.

P.S. Якщо у когось стоїть бета версія Вісти, будьте ласкаві, зробіть експорт гілки HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Memory Management
І надішліть мені, якщо Вас не ускладнить.

У 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 файли, відбувається їх хешування та перевірка, чи є відповідні ім. файли в папці Prefetch, і якщо так, завантажуються ці файли. Якщо відповідні файли prefetch не існують, система відстежує, які файли задіює при запуску EXE програма, створює цей файл і зберігає в нього шляхи до цих файлів.

  • Так що, по-перше, це не дуже хороша ідея - очищати папку 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 та багато інших програм видавали помилки або просто відмовлялися запускатися з windows prefetch. А WMPlayer звичайно знає, що ключ може бути вказаний у параметрах і просто мовчки ігнорує його існування.

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

Тема оптимізації 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 , Якою видніше, які додаток потребують оптимізації запуску, а які ні.

Хлопці привіт Prefetch це папка, в якій зберігаються непрості дані, а ті, які дозволяють працювати Windows швидше. Ці дані, це результат роботи роботи , яка у свою чергу аналізує роботу користувача за комп'ютером і намагається зробити так, щоб наступного разу всі дії які він робив, щоб вони відбувалися швидше.

Тому папку Prefetch можна назвати навіть магічною, тому що завдяки ній комп'ютер може працювати набагато швидше. Але наскільки саме це вже залежить від вільного обсягу ОЗУ. Чим більше оперативки, тим відповідно краще

Ось вміст папки Prefetch у мене:


Якщо відкрити її властивості, то побачимо, скільки вона займає місця:

Як бачите місця вона займає дуже мало, так що краще її не видаляти. Але що буде якщо все-таки видалити? Нічого страшного не буде, просто служба почне працювати наново.

Я її у себе для перевірки видалив. Потім зробив перезавантаження, після якого система працювала справно, і все було нормально.

Але коли я подивився в папку Windows, то папка Prefetch вже була створена, ну тобто все так як я і писав Але коли я її спробував знову видалити, то було повідомлення мовляв попросіть дозвіл від адміністратора, ну ось прикол думаю я ... Але потім я натиснув повторити і ще раз повторити і все, папка вийшла. Тому про всяк випадок, якщо ви її не можете видалити, то ось вам спеціальна утиліта, вона всі вперті папки вміє видаляти. Але ви це, обережно з нею будьте, ну з цією утиліткою.

Я думав що якщо відключити службу SuperFetch, то папка не з'являється після видалення. Але ні, вона з'явилася однаково. Але в ній нічого не було окрім папки ReadyBoot. Тобто папка Prefetch якимось боком ще належить і до технології ReadyBoot, це теж для прискорення комп'ютера, і для прискорення використовується флешка… Але це вже зовсім інша історія

Про всяк випадок скажу як вам можна відключити SuperFetch. Отже, дивіться, запускаєте диспетчер, там йдете на вкладку Служби і на ній натискаєте цю кнопку:


Відкриється вікно, де буде список служб. Не всі вони працюють, це просто всі, що є у вінді. Тут потрібно знайти SuperFetch і натиснути на ній двічі.

У процесі вивчення 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, це сповільнить систему загалом.