SuperFetch: що це, способи налаштування і відключення в Windows 7, 8 і 10 "

0поділилися

  • 0Facebook
  • 0Twitter
  • 0VKontakte
  • 0Odnoklassniki

Не секрет, що продуктивність комп'ютера залежить головним чином від його «заліза», втім, недооцінювати саму операційну систему також не варто. Програмні способи оптимізації хоча і не настільки ефективні, як, наприклад, встановлення додаткових планок оперативної пам'яті, але вони також роблять свій внесок у прискорення роботи Windows. Одним з таких способів є кешування - збереження даних у спеціально відведеному місці для прискореного доступу до них у майбутньому.


Наприклад, у браузерах у процесі кешування в цю саму область зберігаються зображення і деякі елементи сайтів, так що при наступних зверненнях до цих ресурсів вони вантажаться набагато швидше. Є кеш і в самій Windows, тільки ось зберігає він дані не інтернету, а компонентів операційної системи і деяких, найбільш часто використовуваних, сторонніх програм. Управляє ж усією цією справою працює під процесом svchost.exe служба SysMain також відома під ім'ям SuperFetch.

SuperFetch - що це за служба

Робочий процес, який покращує чуйність операційної системи (ОС) та додатків завдяки аналізу ретроспективних даних та подальшого активного управління вільною оперативною пам'яттю. Ця служба дебютувала в Windows Vista і з тих пір включалася в кожен реліз ОС. Типово вона постійно працює у фоновому режимі, аналізуючи файли, що запускаються. Можливе досить гнучке налаштування цього системного компонента.

СуперФетч можна порівняти з розумним батьком, який тримає весь інструмент в гаражі не просто в порядку, а в «правильному» порядку, щоб син швидко відшукував потрібні ключі або кусачки. «Правильний» порядок означає наступне:

  • в безпосередній близькості від робочої зони будуть знаходитися ті інструменти, який використовуються найчастіше;
  • пріоритетний інструмент також розташований не навмання - якщо часто знімаються автоколеса, то домкрат буде ближче, ніж балонний ключ, оскільки той потрібен раніше;
  • всі інструменти після використання кладуть на старе місце;
  • якщо якась операція вже не повторюється (наприклад, купили нову покришку і колесо тепер не проколюється часто), то необхідний для її виконання специфічний інструмент поступово розташовується все далі і далі від робочої зони.

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

Для чого вона потрібна

Щоб зрозуміти, що таке SuperFetch, можна описати 2 основні цілі служби:

  1. Завантажувати Windows швидше. Під час запуску ОС різні файли потрібні в різний час (так і один і той самий файл потрібен багато разів, але в різний час). Служба «дізнається», які файли або їх комплект потрібен для завантаження, і в який саме момент часу. У результаті створюється умовна тека, де зберігаються найбільш пріоритетні для Віндова файли. Постійне повторення циклів запуску системи дозволяє зберігати необхідні компоненти таким чином, щоб їх читання мінімально навантажувало систему. При цьому служба взаємодіє з вбудованим дефрагментатором - файли фізично будуть знаходитися в безпосередній близькості один до одного. Підсумок - завантаження виконується швидше.
  2. Запускати програми ефективніше. Для цього аналізуються 2 фактори: які програми запускаються частіше, і чи існує певна черговість їх запуску. Наприклад, вранці бухгалтер на робочому місці може все почати з короткого читання новин через браузер. Далі він запустить 1С і проведе актуальні господарські операції. Після обіду він може щільно зайнятися фінансовим аналізом, використовуючи Excel. День у день ця послідовність може особливо не змінюватися. Служба «бачить» цей патерн поведінки і попередньо завантажує у вільну оперативну пам'ять ті дані, які потрібні для запуску наступного додатку. Тобто, вранці, якщо браузер запущений, в оперативку вже частково завантажені найважливіші файли 1С. Підсумок - програми запускаються ефективніше і тому працюють стабільніше.

Часом служба вузла SuperFetch вантажить диск Windows 10. Це викликається 2 причинами:


  1. Служба базується на минулому досвіді. Вона «звикла», що після програми X завжди запускається додаток Y і «готується» до цього. Якщо трапиться непередбачуване, і потрібно буде завантажувати програму B, а не Y, то це може викликати помилку і істотне завантаження ресурсів ОС.
  2. Служба чутлива до обсягу оперативної пам'яті. Чим більше оперативки, тим ефективніше працює Суперфетч, адже все ґрунтується на раціональному і попередньому заповненні вільної оперативної пам'яті. Якщо все буде зайнято, не залишиться місця, куди можна записувати файли, які часто використовуються. Підсумок - збільшиться конкуренція за кожен незайнятий мегабайт і система може через це пригальмовувати.

Як розпізнати, що вузол вантажить диск

У деяких випадках SuperFetch виявляється причиною ряду проблем, найбільш явні з яких наступні:

  1. Якщо операційна система вантажиться довго, і при цьому протягом декількох хвилин після кожного запуску комп'ютера диск завантажений повністю, тоді причина подібної проблеми криється в SuperFetch.
  2. Суперфетч іноді викликає просідання продуктивності ПК при включенні ігор. Ймовірно, це відбувається через те, що вони починають запитувати багато пам'яті, і сервісу в ході їх роботи доводиться проводити постійне завантаження і вивантаження інформації, в результаті чого і з'являється ця проблема.

Параметри SuperFetch

Для вичерпної відповіді на питання: «SuperFetch - що це за служба?», слід знати, які саме параметри ОС вона встановлює. Вони доступні для редагування через реєстр. Щоб отримати доступ до них, потрібно виконати наступне (на прикладі десятої версії Віндовс):

  • натиснути кнопку Windows на клавіатурі, з'явиться вікно, в ньому (внизу) ввести regedit, клацнути за підсумком пошуку (вгорі) правою кнопкою мишки і у спадному меню вибрати рядок «Запустити від імені адміністратора»;
  • відкриється «Редактор реєстру», і в лівій його частині потрібно послідовно розкривати кліком наступні рядки: HKEY_LOCAL_MACHINE => SYSTEM => CurrentControlSet => Control => SessionManager => MemoryManagement => PrefetchParameters;
  • у правій частині вікна буде виявлено 3 основні параметри, які визначають режим роботи служби - подвійним кліком на будь-якому вікні редагування значень параметра, але про це мова піде далі.

EnableBootTrace

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

  • параметр не впливає на все, що відбувається з Windows після завантаження;
  • прискорюється завантаження ОС за рахунок внутрішньої оптимізації файлів.

EnablePrefetcher

Щодо цього параметра потрібно пояснити історію попередника SuperFetch - Prefetcher. Він з'явився ще на Windows XP і логіка його дій - база для СуперФетч. Він аналізує, які саме файли завантажуються при старті ОС або програм, створює таблицю пріоритетності цих файлів і оптимізує їх розміщення на носії. Відмінність від SuperFetch полягає в тому, що він не аналізує патерни поведінки користувача. Цей параметр - модифікація EnableBootTrace, яка працює не тільки при старті Віндовс, але і при запуску програм.

EnableSuperFetch

Параметр визначає правила роботи служби СуперФетч. Для нього, як і для EnablePrefetcher, можливі 4 установки:

  • 0 - відключення служби;
  • 1 - використання тільки при завантаженні програм;
  • 2 - використання тільки при завантаженні ОЗ;
  • 3 - використання при завантаженні програм і ОС.

Порівняння Prefetch і SuperFetch

Перше пробне використання технології відбулося вже в Windows XP. В ОС Vista ця технологія була названа Prefetcher (з англійської «попередня вибірка»). Ця технологія застосовувалася для оптимізації завантаження компонентів ОС і різних додатків програм, що запускаються, якраз перед самим запуском.

Після реалізації в операційній системі Windows 7 технологія була частково перероблена, в тому числі змінилася її назва на SuperFetch. Робота служби змінилася, але частина Prefetcher (попередня вибірка) все одно присутня. Префетчер має, на жаль, кілька недоліків. Оперативна пам'ять пристрою обмежена, тому має сенс завантажувати тільки часто використовувані програми. Коли програма перестає часто користуватися, її дані видаляються з оперативної пам'яті і знову опиняються на жорсткому диску у файлі підкачки.

Нова версія Суперфетч вивчає роботу юзера з програмами, створює спеціальні карти і зберігає конфігурацію регулярно завантажуваних програм. Якщо програма була вивантажена, то ця служба аналізує весь процес, через який відбулося вивантаження. При необхідності Суперфетч ініціює нове завантаження даних програми в оперативну пам'ять пристрою.


У результаті користувач отримує велику продуктивність операційної системи і швидке завантаження популярних програм.

Часом можуть з'явитися проблеми, якщо обсяг оперативної пам'яті пристрою менше 1 гігабайта. Далі детальніше зупинимося на цьому питанні.

Чи потрібна SuperFetch на комп'ютері?

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

Наскільки безпечно її відключення?

Варто SuperFetch відключити чи ні Windows 7? Жодних проблем не виникне, якщо все вимкнути. Служба ніяк не впливає на конфіденційність даних і в переважній більшості випадків слабо навантажує ресурси системи. Гірше точно не стане, так що не варто цього боятися.

Інше питання, що немає особливого сенсу спеціально це робити. Служба не просто так мігрує з однієї версії ОС в іншу протягом майже 20 років. Якби вона чомусь особливо заважала, то SuperFetch вирізали з ядра системи. Якби вона викликала нестабільність Windows, то від неї б точно позбулися.


Чи слід відключати

Багато хто вважає, що раз іноді служба SuperFetch може викликати проблеми в роботі комп'ютера, то її потрібно відключити в профілактичних цілях, не чекаючи негативних наслідків від її роботи, як радять у деяких статтях.

Такий підхід виявляється безглуздим при розгляді таких тверджень:

  • при відключенні служби зменшиться швидкість завантаження додатків;
  • система почне частіше звертатися до вінчестера, в результаті збільшиться навантаження на нього;
  • якщо в комп'ютер вбудовано ОЗУ з великим об'ємом пам'яті, то немає сенсу у вивільненні декількох мегабайт - якщо ж її мало, тоді при відключенні служби система почне гальмувати, підвисати.

За допомогою командного рядка

Відключення проводиться за наступним алгоритмом:

  • натиснути кнопку Windows на клавіатурі, з'явиться вікно, в ньому (внизу) ввести cmd, клацнути за підсумком пошуку (вгорі) правою кнопкою мишки і в спадному меню вибрати рядок «Запустити від імені адміністратора»;
  • запуститься чорне вікно, в яке потрібно скопіювати команду net.exe stop superfetch і підтвердити запуск натисканням на Enter;
  • у тому ж вікні ввести цю команду sc config sysmain start = disabled і знову натиснути Enter.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND