Prefetching vs SuperFetch: vad de är, skillnader och en praktisk guide

Senaste uppdateringen: 18/11/2025
Författare: Isaac
  • Förhämtning ökar hastigheten boot y appar sparar .PF-spår; SuperFetch/SysMain förinläser i RAM baserat på vanor.
  • De brukar hjälpa till med hårddiskar; SSD Dess inverkan är mindre och ibland är det lämpligt att inaktivera SysMain.
  • .PF-filerna har högt forensiskt värde: vad som utfördes, när, varifrån och med vilka avdelningar.

Prefetch och SuperFetch på Windows

Om du har använt Windows ett tag har du förmodligen hört talas om Prefetch och SuperFetch (nu SysMain). Även om dessa funktioner har funnits i åratal fortsätter de att generera debatt på grund av deras inverkan på prestanda , särskilt på system med SSD-diskar, stora multimediabibliotek eller datorer som används för mycket specifika uppgifter. I den här artikeln skiljer vi myt från verklighet och sätter allt i ett aktuellt sammanhang.

Vi utgår från en premiss som många delar: med tanke på det nuvarande läget för hårdvaruförbättringar och Windows mognad är det förvånande att vissa "dåligt förfinade" beteenden kvarstår. Det finns fall där systemet urskillningslöst använder cachen (till exempel skapar spår för installationsprogram som du bara kör en gång), eller där SuperFetch-tjänsten aktiveras, kommer åt stora filer och orsakar toppar i diskaktivitet. Låt oss ta en titt, utan att bli för dramatiska, på vad varje teknik gör, när den är användbar och när det är bäst att justera eller inaktivera den.

Vad är Prefetch och SuperFetch i Windows?

Prefetch är en funktion som introducerades i Windows XP och fortfarande finns i Windows 10 och 11. Dess syfte är att snabba upp system- och programstart genom att spara information om filåtkomst och beroenden för återanvändning vid efterföljande körningar. Denna information sparas i mappen C:\Windows\Prefetch som filer med filändelsen .PF.

SuperFetch, å sin sida, går ett steg längre: den lär sig dina användningsmönster och förladdar data och binärfiler från de appar du ofta öppnar i RAM-minnet, så att de svarar snabbare. I senare versioner av Windows 10 (sedan version 1809) visas tjänsten under namnet SysMain , även om dess operativa fokus förblir detsamma.

Det är viktigt att betona att båda funktionerna involverar ytterligare läsningar och skrivningar . Prefetch loggar spår per applikation och per start; SuperFetch/SysMain håller minnet varmt för att snabba upp regelbundna startar. När det är anpassat hjälper det; när det tillämpas urskillningslöst kan det generera aktivitet som inte alltid är värd besväret.

Skillnader mellan Prefetch och SuperFetch

Programvaruförhämtning kontra hårdvaruförhämtning (CPU)

Det är viktigt att skilja mellan programvaruförhämtning (operativsystems- eller kompilatorförhämtning) och hårdvaruförhämtning (CPU-förhämtning). På programvarunivå analyserar Windows åtkomster och förutser sannolika data och instruktioner , och förbereder dem för att minska start- eller programstartslatens.

Konceptet finns även inom kompilering: till exempel har GCC den primitiva `__builtin_prefetch` , vilket gör att hårdvaran kan uppmanas att komma åt viss data i förväg. Dessa uppmaningar kan jämna ut flaskhalsar i minnesåtkomst när mönstret är relativt förutsägbart.

I processorn har x86-arkitekturer instruktioner som PREFETCH och dedikerade mekanismer som, utan ingripande från operativsystemet, försöker föra data eller instruktioner till de olika cachenivåerna i förväg. Det är ett prediktionsspel: om du har rätt minskar latensen; om du har fel förorenar du cachen.

Denna metod är lika gammal som den är effektiv: Intel 8086 hade redan en 6-byte instruktionsförhämtningskö , och Motorola 68000 hade en 4-byte. Idag är CPU-förhämtare mycket mer sofistikerade, skiljer sekventiella mönster och steg , och kan inaktiveras i vissa avancerade BIOS/UEFI:er. Obs: detta bör inte förväxlas med IDE-förhämtningläget i äldre firmware, vilket hänvisade till optimeringar av IDE-enheter.

  Hur man köper billiga Windows- och Office-licenser i Spanien

Förhämtningsmapp i Windows

Prefetch-mapp, .PF-filer och hur Windows fungerar

Mappen C:\Windows\Prefetch lagrar filer med filändelsen .PF som är associerade med både startprogram och enskilda applikationer. Varje gång du kör ett program kan Windows skapa eller uppdatera motsvarande prefetch-fil (till exempel CMD.EXE-087B4001.PF ) och återanvända den informationen för framtida startar.

PF-filer innehåller två huvudavsnitt: en rubrik med användbara metadata (körbar filnamn, sökväg, tidsstämplar som skapande, senaste åtkomst och ändring, plus körningsräknaren) och en andra del med en "ögonblicksbild" på cirka 10 sekunder med filerna och DLL-filerna som berördes under den första körningssträckan.

Dessa filer har en identifierbar signatur som underlättar deras återställning vid forensisk analys. I binära termer visas identifieraren SCCA med en rubrik som kan ses som 11 00 00 00 53 43 43 41. Eftersom det inte finns någon formell "sidfot" är det normalt att extrahera en del "utfyllnad" när man carverar från oallokerat utrymme, vilket ignoreras vid validering av innehållet.

Även om många tror att "att ta bort Prefetch-mappen" snabbar upp datorn, är fördelen högst marginell och tillfällig . Faktum är att den första starten efter borttagningen kommer att vara långsammare (Windows måste lära sig om och mappa om), och det kan ta längre tid att återskapa startinformationen vid uppstart.

Hur man aktiverar eller inaktiverar Prefetch och SuperFetch (SysMain)

Prefetcher-konfigurationen styrs i registret: HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\\PrefetchParameters . Där hittar du värdet EnablePrefetcher (i vissa texter visas det som EnablePrefetch) med fyra alternativ.

  • 0 = Inaktiverad helt.
  • 1 = Endast förladdning av applikation.
  • 2 = Endast förladdning vid uppstart av systemet.
  • 3 = Start och applikationer (optimalt värde och standardvärde).

För att hantera SuperFetch i Windows 10/11, öppna services.msc och sök efter SuperFetch (i moderna versioner visas det som SysMain ). Från dess egenskaper kan du ändra starttypen till Disabled och stoppa tjänsten om det behövs.

Det finns en utbredd uppfattning att Windows automatiskt upptäcker SSD-diskar och inaktiverar Prefetch/SuperFetch . I praktiken händer detta inte alltid på alla maskiner eller versioner, vilket är anledningen till att många SSD-användare väljer att inaktivera dem manuellt efter att ha bedömt deras faktiska inverkan.

HDD vs SSD: När de hjälper och när de hindrar

På mekaniska hårddiskar (HDD:er), där åtkomstfördröjningen är hög, är Prefetch och SuperFetch vanligtvis fördelaktiga eftersom de minskar diskens väntetider genom att ha data lättillgängliga. Därför är det rimligt att behålla EnablePrefetcher=3 i system med hårddiskar i de flesta scenarier.

Med SSD-diskar är åtkomsttiderna så korta att nyttan av förhämtning minskar kraftigt . Att hålla SysMain aktivt kan konkurrera med andra arbetsbelastningar och, beroende på situationen, skapa onödig aktivitet. Vissa föredrar att ställa in EnablePrefetcher=0 och inaktivera SysMain; andra lämnar allt på standardinställningarna och övervakar prestanda. Nyckeln är att observera systemets faktiska beteende.

I Windows Server 2003-system var till exempel standardvärdet 2 (endast start) , vilket illustrerar att Microsoft justerade olika profiler beroende på produkten och dess typiska användningsfall.

Tänk på att om du rensar Prefetch-mappen eller ändrar dess inställningar, kommer den initiala starten av appar att sakta ner , och systemet kommer gradvis att regenerera .PF-filer. Om ditt mål är att maximera CPU-användningen kan du prova det; annars kan du lämna det som det är och fokusera på att åtgärda mer betydande flaskhalsar.

  Så här loggar du in som administratör i Windows 11: En komplett steg-för-steg-guide

Windows-indexering, alternativ och produktivitet

Ett annat prestandarelaterat problem är indexering . Windows-indexeraren underlättar sökningar, men den skriver och läser data regelbundet; om du vill justera dess funktion, granska indexeringsalternativen.

Allt använder en annan indexeringsmetod och uppfattas generellt som betydligt snabbare på NTFS- filsystem , förutom att det förbrukar få resurser. Det kan integreras i aktivitetsfältet genom communityprojekt, vilket ger en snabb och sömlös sökupplevelse.

Oavsett vilket du väljer är resonemanget liknande det för Prefetch/SysMain: mät den faktiska effekten på din dator och prioritera produktiviteten. På vissa maskiner kan det göra en betydande skillnad till det bättre att inaktivera indexering och förlita sig på Allt.

Vanliga problem och verkliga fall

Ett beteende som irriterar vissa användare är att Windows genererar .PF -filer för engångskörbara filer som setup.exe . I praktiken är det rimligt att ifrågasätta deras användbarhet: du installerar något en gång, och den där prefetch-filen kommer sällan att behövas igen. Denna brist på åtskillnad är särskilt märkbar med engångsbibliotek.

Det har också observerats att systemet vid programuppdateringar kan samla spår av äldre versioner utan att helt rensa bort posterna. Det lämnar till och med spår av avinstallerade program, vilket fyller Prefetch-mappen med värdelösa rester.

För att hantera överblivna filer efter avinstallation finns det verktyg som Bulk Crap Uninstaller (BCUninstaller) som, även om det kräver lite inlärning till en början, hjälper till att hitta överblivna filer och kan bidra till att ta bort relaterad data, inklusive vissa prefetch-filer som inte längre är meningsfulla.

Det finns särskilt problematiska scenarier med SuperFetch/SysMain: datorer med enorma musikbibliotek (till exempel hundratals GB MP3-filer ) eller med massiva Outlook PST-filer kan uppleva timmars diskkrasch flera gånger i veckan. Om tjänsten stoppas den vanligtvis, men den stoppar inte alltid omedelbart.

En vanlig fråga är om det finns en undantagslista för att förhindra att SuperFetch kommer åt vissa sökvägar eller program (Outlook, iTunes, mediesamlingar etc.). Windows inkluderar ingen officiell detaljerad undantagsmekanism för SysMain, så om aktiviteten är störande är den praktiska lösningen vanligtvis att inaktivera tjänsten eller begränsa dess omfattning med allmänna policyer.

Forensiskt värde av Prefetch-filer

Utöver prestanda är .PF-filer av enormt forensiskt intresse. Deras innehåll kan avslöja vad som kördes, när, varifrån och hur många gånger . Beroende-ögonblicksbilden visar sökvägarna till DLL-filer och filer som öppnades omedelbart efter den första körningen.

Detta möjliggör upptäckt av okonventionella eller dolda sökvägar (till exempel en Excel-fil som öppnades "one.xls" som finns på en TrueCrypt-volym, eller ovanliga kataloger under System32). Analytiker hittar ofta skadliga verktyg gömda i förklädda mappar tack vare filändelsen .PF.

Förhämtningssökvägar hjälper också till att identifiera användare och exekveringskällor . Dessa sökvägar kan avslöja konton under C:\\Documents and Settings (XP) eller C:\\Användare (Vista/7/10/11), eller åtkomst från extern lagring . Att se \\DEVICE\\HARDDISKVOLUME1\\ är inte detsamma som poster som \\DEVICE\\HARDDISK\\DP(1)0-0+D\\, typiska för USB- enheter.

Om tidsstämplar i MFT:n har manipulerats (till exempel med tidsstämplar ) kan .PF-metadata avslöja sanningen. Den första och sista åtkomsttiden, tillsammans med exekveringsräknaren, avslöjar binärfilens faktiska aktivitet , även om ett försök gjordes att dölja den.

  Så här konfigurerar du HDMI-ljud i Windows 11

.PF-filerna hjälper också till att profilera användartypen . Om spår av Python , Perl, IdaPro, VMware eller verktyg som nmap, Metasploit eller netcat dyker upp kan vi dra slutsatsen att profilen är mer teknisk (eller att det finns potentiellt stötande verktyg). Omvänt, om webbläsare, e-postklienter och sociala appar dominerar, är användningsmönstret annorlunda.

Verktyg för att analysera och återställa Prefetch

Bland de klassiska verktygen utmärker sig WinPrefetchView (NirSoft), som listar .PF-filer med metadata och tillåter export till HTML, och Mark McKinnons verktyg, Prefetch_info.exe och Prefetch_parse_gui.exe , som korrekt analyserar både headern och NTFS/MFT-informationen.

Om Prefetch-mappen har rensats (antingen avsiktligt eller för underhåll) är det fortfarande möjligt att återställa raderade .PF-filer genom att söka efter deras signatur i oallokerat utrymme. Eftersom de inte har någon sidfot är det normalt att skulpteringen av filen drar med sig extra byte , som kasseras efter att deras integritet har verifierats.

En praktisk varning: vissa appar skriver inte sin .PF-fil förrän de stängs . Om du till exempel kör netcat klockan 13:00 den 14:e och stänger den klockan 15:00 den 15:e, skapas prefetch-filen vid stängning, vilket rubbar tidslinjen . Dessutom genererar inte program i startmappen sin motsvarande .PF-fil.

Korrekt tolkning och falska positiva resultat

Det är lätt att misstolka vissa spår. Att se .PF-filer från DEFRAG.EXE eller DFRNTFS.EXE betyder inte nödvändigtvis att användaren har försökt radera spår; Aktivitetsschemaläggaren initierar själv defragmenteringsprocesser för att omorganisera Layout.ini -poster och öka räknaren för dessa .PF-filer.

Antalet filer i Prefetch-mappen är också vägledande. Windows begränsar hur många .PF -filer som sparas av hygieniska skäl, och deras mängd och variation kan tyda på om systemet är nytt (få appar) eller har använts intensivt under en längre tid.

Om .PF-filerna saknas helt kan någon ha raderat dem, eller så kan registerposten EnablePrefetcher=0 ha ställts in . I Windows XP/Vista/7 var standardvärdet 3 (appar och start), medan det i Windows Server 2003 vanligtvis var 2 (endast start).

Goda underhållspraxis

Undvik tvångsmässig Prefetch-rensning: Windows hanterar mappen och rensar gamla poster. Att ta bort alla .PF-filer varje vecka hjälper sällan och kan orsaka latens vid nästa start eller första körning.

Om du är orolig för spår av gamla versioner eller appar som du inte längre använder, välj avancerade avinstallationsprogram (som BCUninstaller) som upptäcker överblivna filer och utför mer grundliga rensningar. Detta minimerar "brus" i Prefetch utan att hindra systeminlärningen.

När SysMain orsakar störande aktivitet (särskilt på datorer med begränsat RAM-minne eller stora bibliotek ), försök att stoppa tjänsten och observera. Om systemet återgår till det normala, överväg att inaktivera SysMain och bara behålla start-/programförhämtningen, eller minska dess omfattning.

Och om sökningar gör dig galen, överväg att inaktivera Windows-indexering och välja Allt med aktivitetsfältsintegration. Det är ett enkelt sätt att öka hastigheten utan att göra för många ändringar i systemet.

Vad är Windows SysMain-processen?
Relaterad artikel:
Windows SysMain: Vad det är, hur det fungerar och när det ska lämnas aktivt