Ако използвате Windows от години, ще знаете, че Microsoft никога не спира да добавя нови функции. Нови функции, промени в интерфейса и много „недостатъци“ под формата на джаджи, реклами или свръхпроизводителен софтуер. Има обаче ключови характеристики, които почти не са се променили през повече от десетилетие, като например Предварително извличане и супер извличане.
В тази статия ще анализираме какво точно представляват те. Prefetch и SuperFetch в Windows: какви са разликите между тях и как работят на системно и хардуерно ниво?Ще разгледаме кога е разумно да ги деактивирате и как да го направите стъпка по стъпка в Windows 10 и Windows 11. Ще разгледаме и тяхното въздействие върху HDD и SSD устройствата.
Какво е Prefetch в Windows и защо съществува?
Предварителното извличане е по същество механизъм за предварително зареждане на данни който Microsoft въведе с Windows XP в ядрото на Windows NT и който се поддържа в Windows Vista, Windows 7, Windows 10 и Windows 11. Целта му е да намали времето за зареждане на системата и времето за отваряне на програмите, като анализира кои файлове се използват при стартиране на Windows и стартиране на приложения.
Когато стартирате системата си или изпълнявате програма, Windows записва какво Файлове, библиотеки и ресурси се четат от дискаТази информация се съхранява в малки файлове за проследяване в папката. C: \ Windows \ PrefetchВсяко често срещано приложение има свой собствен файл с разширението . .PFкъдето се съхраняват моделите за достъп до диска, необходими за ускоряване на бъдещи изпълнения.
Идеята е проста. Вместо да чете всичко от нулата всеки път, Windows използва тези файлове за предварително извличане, за да предвиждайте и зареждайте най-вероятните данни предварителноТова прави стартирането на Windows и отварянето на тежки програми по-плавно, особено на механични твърди дискове (HDD), където произволният достъп е много бавен.
Една от най-често срещаните критики: Windows създава следи дори от временни инсталатори, като типичен setup.exe Изтегля се в папката „Изтегляния“, която използвате само веднъж и след това изтривате или премествате. В тези случаи предишното заснемане е безполезно и изразходва само запис на диска и известно място.
Освен това, с течение на времето папката Prefetch има тенденция да се запълва с Записи за програми, които вече не са инсталирани, или по-стари версии на софтуера, който сте актуализирали. Системата добавя записи за нови версии. Но не винаги почиства предишните версии със същата лекота, така че регистрационните файлове на Prefetch може да съдържат остаряла информация, която вече не е полезна.
Предварително извличане на хардуер срещу софтуер: Не става въпрос само за Windows
Терминът „предварително извличане“ не е изключителен за Microsoft. В компютърните науки той се използва за описание на всяка техника, която извлича данни или инструкции в по-бърза памет, преди да са необходимиТова може да се реализира както софтуерно (в операционната система или компилатора), така и директно в хардуера (вътре в процесора).
- Предварително извличане на софтуерОткриваме механизми като собствения Prefetch на Windows или функции, които компилаторите добавят към кода, например добре познатата __builtin_prefetch В GCC компилаторът анализира кода и включва специални инструкции за предварително заявяване на данни от паметта. Идеята е, че когато процесорът достигне тази част, данните вече са готови в кеша.
- Предварително извличане на хардуерСъвременните процесори (както Intel, така и AMD) включват специална схема, която открива модели на достъп до паметта и автономно решава, кои блокове да се прехвърлят от RAM паметта в L1, L2 или L3 кеша преди ядрото изрично да го поиска. В x86 архитектурите дори има специфична инструкция, наречена PREFETCH предназначен да каже на процесора да предвиди зареждането на определени адреси.
Тази хардуерно базирана операция е ключова за интензивни задачи, като например видео редактиране, симулации, взискателни игри или научни натоварванияБез това предвиждане от страна на процесора, латентността при постоянен достъп до основната памет би била огромна и производителността би спаднала рязко.
Как работи Prefetch вътрешно в Windows
От гледна точка на потребителя, Prefetch се възприема като По-бързо стартиране на системата и приложения, които „се отварят по-бързо“ след като са били използвани няколко пъти. В основата на това се случва много по-методичен процес в ядрото на Windows NT.
Всеки път, когато Windows се стартира, системата записва какво услуги, драйвери и изпълними файлове кои файлове се зареждат и в какъв ред. Тази информация генерира следи, които се запазват като PF файлове в папката предварително извличанеСъщото се случва, когато стартирате приложение: Windows следи достъпа до диска по време на първите няколко стартирания и създава профил на употреба, за да ускори следващите стартирания.
Когато рестартирате Windows или отворите същото приложение, системата прочита съответния файл за предварително извличане и очаква четене от дискчрез групиране на достъпите и намаляване на прескачането на главите (на твърди дискове) или разпръснатите заявки (на SSD дискове). Резултатът, когато всичко работи правилно, е по-голямо усещане за плавност.
Важно е да се разбере, че Prefetch е механизъм „най-доброто усилие“Не винаги го прави правилно, не разграничава перфектно кои програми ще използвате отново и понякога обработва файлове, които отваряте само веднъж. През годините Windows е усъвършенствал алгоритмите си, но все още е технология, която носи дизайнерски ограничения от ерата на XP.
От друга страна, системата е отговорна за автоматично управление на размера на папката PrefetchНе е нито необходимо, нито препоръчително периодично да изтривате съдържанието му. Windows премахва по-старите следи, когато надхвърлят определен праг, запазвайки само набор от файлове, представителни за редовната ви употреба.

Папката Prefetch: почистване, митове и най-добри практики
Вероятно вече сте се натъквали на типичната препоръка във форуми и видеоклипове на тема „Изтрийте цялото съдържание на C:\Windows\Prefetch, за да ускорите WindowsТова е една от онези магически рецепти, които се повтарят от години и, честно казано, са по-скоро мит, отколкото реалност. оптимизиране на производителността реална.
Какво се случва, ако изтриете PF файловете? В краткосрочен план, Системата се стартира по-бавно и често използваните приложения се отварят по-бавно.Защото сте изтрили информацията, използвана от Windows за оптимизация. Самата система постепенно ще регенерира тези следи с течение на времето, но докато това не стане, ще сте загубили предимството, което търсехте.
Само в много специфични сценарии – например, ако забележите странно поведение след мащабни промени в софтуера – може да има смисъл да направите Почистване на папки с предварително извличанеДори в тези случаи Windows обикновено може да се възстанови без вашата намеса.
Друг често задаван въпрос е дали тези файлове значително намаляват живот на твърдия дискПри твърдите дискове (HDD) въздействието е незначително в сравнение с другите операции за четене и запис, извършвани от системата. При SSD дисковете, въпреки че всеки запис е от значение, Prefetch не е основната причина за износване. Сърфирането, инсталирането на игри или копирането на големи файлове генерират много по-голямо натоварване при запис.
В крайна сметка, най-добрата „оптимизация“ в този момент обикновено е Не докосвайте нищо и оставете Windows да се справи сам с Prefetch.освен ако нямате много конкретни причини и знаете какво правите.
Какво е SuperFetch (SysMain) и как се различава от Prefetch?
Наред с Prefetch, Windows включва и друг ключов компонент: Superfetch, преименуван в последните версии на Windows 10 и Windows 11 като sysmain но със същата обща цел. Докато Prefetch се фокусира повече върху достъпа до дискове, SuperFetch се занимава с оптимизирайте използването на RAM.
Тази услуга работи във фонов режим и анализира в продължение на дни и седмици. Кои приложения използвате най-често, по кое време и в какъв контекст?С тези модели, той се опитва да запази данните и изпълнимите файлове на тези програми в RAM паметта, така че когато ги отворите, те вече да са заредени и да реагират почти мигновено.
Например, ако всеки ден, когато стартирате компютъра си, стартирате браузър, имейл клиент и офис пакет, SuperFetch ще научи това поведение и Това ще зареди предварително тези компоненти в паметта. след влизане в системата. Идеята е да се „премахне“ чувството за чакане при отваряне на познат софтуер.
Ключовата разлика в сравнение с Prefetch е, че последният работи предимно запазване на следи на диск и организиране на достъпа. SuperFetch се опитва да се възползва от наличната RAM памет, като я запълва с приложенията, които смята за най-полезни за вас във всеки един момент.
Струва си да се отбележи, че SuperFetch е особено полезен в устройства с много свободна RAM паметТова е така, защото може да зареди предварително много приложения, без да причинява натиск върху паметта. На машини с ограничена RAM памет или програми, изискващи много ресурси, това „прекалено усърдие“ може да има обратен ефект и да генерира повече пейджинг или дори заекване, ако системата е принудена да освобождава памет бързо.
Prefetch срещу SuperFetch: практическо сравнение
За да разберем по-добре как те се допълват и различават, е полезно да обобщим Подходи за предварително извличане и супер извличане:
- От една страна, Предварителното извличане се фокусира върху ускоряване на стартирането на системата и първоначалното зареждане на приложениятаФокусира се повече върху аспекта на съхранението, оптимизирайки достъпа и групирането на четенията, въз основа на това кои файлове се четат от диска.
- Освен това, SuperFetch (SysMain) използва свободната RAM памет да има предварително заредени най-вероятните приложения, поддържайки ги „топли“, дори когато не са видимо отворени. Неговото поле на действие е управление на средносрочната памет.
И двете технологии са проектирани с нагласата на традиционни механични твърди дисковекъдето всяко намаляване на скоростта на произволно четене е имало значение. С популяризирането на SSD дисковете, много от тези оптимизации губят част от своето въздействие, защото самият хардуер вече предлага много бърз достъп.
Въпреки това, Windows 10 и Windows 11 все още включват и използват както Prefetch, така и SuperFetch, като частично адаптират поведението си, когато открият SSD или HDDмакар и не винаги толкова агресивно, колкото биха искали някои потребители.
Как да активирате или деактивирате предварителното извличане в Windows
Ако, след като претеглите плюсовете и минусите, искате промяна на работата на PrefetchWindows предлага директен контрол чрез системния регистър. Тази настройка не се вижда в обичайните менюта, така че действайте внимателно и променяйте само необходимото.
Конфигурацията е в ключа:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ управление на паметта \ PrefetchParameters
В този път ще видите стойност, наречена EnablePrefetcher (или EnablePrefetch в някои по-стари ръководства), който определя поведението на услугата. Възможните му стойности са следните:
- 0 = Предварителното извличане е напълно деактивирано.
- 1 = Оптимизирано е само стартирането на приложението.
- 2 = Оптимизиран е само процесът на зареждане на системата.
- 3 = Оптимизация както на стартиране, така и на приложения (препоръчителна и стойност по подразбиране).
В отбори с механични твърди дискове (HDD)Обичайната практика е стойността да се поддържа на 3, тъй като постига забележимо подобрение във времето за зареждане. При машини с SSDНякои потребители предпочитат да го настроят на 0 да го деактивират, като твърдят, че дискът вече е достатъчно бърз и че това избягва допълнителни записи.
Позицията на Microsoft, както и на повечето специалисти, е малко по-консервативна: Обикновено не е необходимо да деактивирате Prefetch на SSD дисковеТъй като системата вече прилага определени вътрешни настройки, ползата от оставянето ѝ изключена е минимална на практика. Само в много специфични диагностични случаи или силно персонализирани среди си струва да се коригира тази настройка.
Как да активирате или деактивирате SuperFetch (SysMain) в Windows 10 и 11
Да шофирам Superfetch (или SysMain, в зависимост от вашата версия на Windows), пътят вече не е през системния регистър, а през конзолата за системни услуги. Оттам можете да коригирате типа на стартиране или да го деактивирате напълно, ако ви създава повече проблеми, отколкото решава.
Общите стъпки за по-стари версии на Windows 10, където все още се показваше като Superfetch звук:
- Натиснете клавишната комбинация Windows + R за да отворите прозореца Изпълнение.
- пиша services.msc и натиснете Enter.
- В списъка с услуги потърсете записа, наречен SuperFetch.
- Щракнете двукратно върху него, за да отворите свойствата му.
- В раздел „Тип стартиране“, изберете желаната опция (например „Деактивирано“, ако искате да я изключите).
- Кликнете върху aplicar и след това в приемам за да запазите промените.
След актуализацията на Windows 10 версия 1809 и в Windows 11, услугата беше преименувана на sysmainВъпреки че функцията му е практически същата. Процедурата е идентична, просто ще трябва да потърсите sysmain в списъка с услуги и променете типа му на стартиране на „Инвалид“ ако искате да го изключите.
Това деактивиране може да бъде полезно, ако забележите, че на устройства с малко RAMИнтензивната употреба на SysMain може да причини забавяне, постоянно използване на дисково пространство или проблеми по време на игра. На съвременни машини с 16 GB или повече RAM и SSD, много потребители предпочитат да го оставят включен, тъй като предварителното зареждане на паметта обикновено е по-полезно, отколкото вредно.
Prefetch, SuperFetch и въздействието върху HDD и SSD
Един от големите въпроси от последните години е дали има смисъл Поддържайте Prefetch и SuperFetch на системи със SSD дисковеТези дискове, без движещи се части, предлагат много по-бърз достъп до данни от старите твърди дискове, което поставя под въпрос необходимостта от определени оптимизации, предназначени за бавни дискове.
- В един Традиционен твърд дискГлавата за четене/запис трябва физически да се движи по плочите, за да чете данни, разположени в различни области. Prefetch и SuperFetch са много полезни в това отношение. Те намаляват четенето на страниците, груповото четене и предварително зареждат това, което вероятно ви е необходимо., вместо да скачате от едната страна на другата всеки път, когато отворите нещо.
- В един SSDСитуацията обаче се променя. Времето за произволен достъп е толкова ниско, че в много сценарии приложенията ще се зареждат много бързо дори без тези алгоритми. Ето защо някои ръководства препоръчват деактивирането на Prefetch и/или SuperFetch на SSD дискове, като твърдят, че те само добавят записи и консумация на ресурси без забележимо подобрение.
Реалността обикновено е някъде по средата: Windows открива, че устройството за съхранение е от тип SSD и вътрешно настройва начина, по който използвате тези функцииВ повечето случаи, оставянето им активирани няма да повреди нищо или да унищожи вашия SSD диск за четири дни. Въпреки това, при много ограничени конфигурации или ако проучвате конкретна причина за заекване, може да има смисъл да опитате временно да ги деактивирате, за да видите дали това ще подобри производителността.
В практическо обобщение: Твърд диск с малко RAM: най-добре е да оставите Prefetch и SuperFetch активираниSSD дискове с много RAM: можете да ги оставите активни без страх и да обмислите изключването им само ако диагностицирате много специфичен проблем с производителността.
Prefetch и SuperFetch в Windows, заедно с CPU prefetch, образуват набор от техники, предназначени да скрият латентността на паметта и съхранениетоРазбирането как работят и кога е подходящо да ги модифицирате ви позволява да настроите по-добре системата си, без да прибягвате до типични чудодейни трикове, които обещават да ускорят Windows чрез произволно изтриване на папки или сляпо деактивиране на услуги.
