SuperFetch (and Prefetch)

professor green

Bronze Level Poster
SuperFetch har genereret kontroverser lige siden den først blev vist i Windows Vista. Hvis du gør en websøgning til 'Superfetch' i dag, vil du ikke se nogen ende af stillinger med direkte advarsler for at slukke for den, eller din disk vil eksplodere, og din pc vil smelte.



Hvad hedder dette så SuperFetch, hvad gør det, og har jeg brug for det?



SuperFetch er et ekstraudstyr til et tidligere præstationshjælpsopkald Prefetch. Prefetch og SuperFetch har et enkelt og meget simpelt mål; at reducere antallet af læsninger fra disken, mens en applikation kører. Læsning af data fra en disk (selv en SSD) er smerteligt langsom i forhold til CPU og RAM-cyklus tid, og hvis det kan undgås, så skal det være.



Hvor Prefetch og SuperFetch forskel er i de berørte applikationer ...



Prefetch (introduceret i Windows XP) forudindlæser de filer, en applikation bruger, når den starter. Dette forbedrer programmets ydeevne, når den kører (ved at undgå diskens læsning) og giver brugeren en mere responsiv oplevelse. Prefetch overvåger de filer, der bruges af hver applikation, da de starter og registrerer disse oplysninger på disken. Når et program startes næste gang, bruger Prefetch den indspillede information til at forudindlæse filer i RAM, så programmet er "klar til at gå". Prefetch er således designet til at forbedre effektiviteten af applikationer, du bruger nu.
 

professor green

Bronze Level Poster
SuperFetch (introduceret i Windows Vista) er designet til at identificere den måde brugeren bruger applikationer på og kigge efter mønstre i brug. For eksempel kan brugeren efter at have startet Windows altid åbne deres e-mail-klient efterfulgt af webbrowseren. SuperFetch registrerer disse brugermønstre og bruger Prefetch-værktøjet til at forudindlæse RAM med filerne til de programmer, som det forventer at brugeren åbner næste, så brugeren får en endnu mere lydhør oplevelse. SuperFetch er således forudsigende, det forsøger at forudsige brugerens handlinger og forudindlæse RAM med sider til applikationer, som det forventer at brugeren åbner næste.



Både Prefetch og SuperFetch bruger Standby-hukommelse til deres forhåndsbelastninger. Disse sider kan indføres i en proces, der er indstillet ved enkle sidetabellopdateringer, når de først refereres. Derudover er SuperFetch tæt involveret i at styre arbejdssætstørrelser (de sider i RAM, som en proces bruger nu), og hvilke sider der holdes i standbyhukommelse. Der er en klar præstationsfordel ved at administrere siderne i standbyhukommelse, så den altid indeholder sider, der sandsynligvis vil blive ønsket igen, i stedet for standardmetoden til simpelthen at indsætte alle stjålne sider uanset deres aktivitetshistorie i håbet de kan være nødvendige engang
 

professor green

Bronze Level Poster
Med Prefetch tager en proces et resultat ved starttiden, da filerne processen bruger, er forudindlæst i RAM, afhængigt af diskens hastighed og ydeevne kan denne forsinkelse ses. Langsom harddiske og dårligt styrede harddiske kan introducere betydelige forsinkelser i processtart for at give en "snappier" oplevelse, når den er startet. Dette er ofte tilfældet ved starttidspunktet, fordi Prefetch forudindlæser filer ved opstartstid for at gøre opstartsprocessen snappier. Der er allerede meget diskaktivitet ved opstartstid, og tilføjelse af ekstraaktiviteten af Prefetch kan undertiden overvælde en langsom og / eller dårlig styret harddisk. I de fleste tilfælde (selvom der kan være undtagelser), giver Prefetch værdifulde gevinster til applikation (og opstart) ydeevne på alle systemer.



Med SuperFetch, der forsøger at forudsige brugerens handlinger, kan en performance hit nu tages i håb om, at når (og hvis) brugeren starter denne applikation i den nærmeste fremtid, vil det være en meget snappier-oplevelse. Igen kan en langsom og / eller dårligt styret harddisk forårsage ydeevneproblemer i applikationer, der kører nu, da filer er forudindlæst til et program, du ikke engang har startet endnu - og kan muligvis ikke starte i det hele taget. Dette forværres, hvis de applikationer, der kører nu, er store harddiskbrugere, kan den ekstra aktivitet, som SuperFetch har, overvinde en langsom og / eller dårlig styret harddisk.



Derudover kræver forudindlæste filer til programmer, du endnu ikke har startet, RAM for at holde dem. Det kan være standbyhukommelse, men du har stadig brug for fysiske RAM-sider til at gemme det. I et system, der mangler RAM, eller endda en, der er lidt tæt på RAM, resulterer dette i en meget aggressiv arbejdssæt trimning (en reduktion i siderne processer kan nå adgang) for at skabe plads i RAM for filer til en ansøgning ikke engang indlæst endnu. Reducerede arbejdsstørrelsesstørrelser øger sandsynligheden for hårde sidefejl, og det gør disse applikationer i gang nu ser træg ud.



Der er således mange systemer, hvor SuperFetch selv er et præstationsproblem. Disse har tendens til at være systemer, der allerede har kort RAM (f.eks. 4 GB eller mindre), og som har dårligt styrede og langsomme harddiske (f.eks. En enkelt HDD på 5400 rpm). Med andre ord har de tendens til at være ældre systemer. På disse systemer er det sikkert klogt at deaktivere SuperFetch, hvis det forårsager problemer, men ikke Prefetch - der stadig nyder applikationer selv på disse ældre langsommere systemer, fordi de vil have fildataene i RAM i sidste ende.



SuperFetch er bedst i systemer med en anstændig mængde RAM (så der er masser af Standby-hukommelse) og med hurtige og velforvaltede HDD'er. Da de Prefetch-filer, der bruges af SuperFetch, gemmes på systemdrevet (i C: \ Windows \ Prefetch), ligesom de fleste af de filer, der skal læses (typisk DLL'er), har en SSD, da systemdrevet forbedrer både Prefetch og SuperFetch-ydeevne. I disse systemer finder du meget ofte, at alle de sider, du har brug for til den applikation, du er ved at starte, allerede er i RAM, takket være SuperFetch, og alt Windows-hukommelseslederen skal gøre, er at opdatere sideborde til at inkludere dem i arbejdssættet af ansøgningen, når du starter den. Hvad du ser er applikationer, der starter næsten øjeblikkeligt og kører problemfrit, og fordi du ikke har kort RAM (og du har en SSD), har indlæsningen af disse sider ikke påvirket ydeevnen af de programmer, du brugte på det tidspunkt .



Hvis SuperFetch opdager, at brugerens nuværende brugsmønster ikke er det, som det forventede, så SuperFetch 'backs off' pre-loading filer og koncentrerer sig om at lære de nye brugsmønstre, så det ikke forurenser Standby-hukommelsen unødigt. Hvis brugerens brugsmønstre bliver særlig uregelmæssige, er resultatet lidt anderledes end det, der ville ses med SuperFetch slukket.



Mit råd er, at alle bør forlade Prefetch aktiveret på hvilket system de har, det er forudindlæser i RAM de filer, som du i sidste ende vil have med denne applikation. De brugere med begrænset RAM (4 GB eller mindre som en tommelfingerregel) og med en enkelt langsom harddisk (5400 omdr./min.) Og ingen SSD vil muligvis overveje at deaktivere SuperFetch, hvis det forbedrer den samlede systemydelse (og det kan godt). Alle andre, og især dem med mindst 8 GB RAM og SSD som deres systemdrev, vil generelt se et meget mere lydhurt system med SuperFetch tændt (selvom der altid er undtagelser selvfølgelig).





Styring af SuperFetch



I Windows 10 er SuperFetch som standard til både opstartsprocessen og til applikationer, så de med rigelig RAM og SSD'er skal ikke gøre noget for at få fordelene.



Der er to måder at slå SuperFetch på, hvis du vil (og du skal være sikker på, at SuperFetch er dit problem, før du slukker det). Du kan deaktivere SuperFetch-tjenesten, som slukker helt, eller du kan aktivere SuperFetch kun til opstartsprocessen eller bare til applikationer via en registreringsnøgle.



For at slå SuperFetch-tjenesten fra, skal du indtaste 'se'
 
Top