Prefetcher - Prefetcher
Den prefetcher er en komponent i Microsoft Windows som ble introdusert i Windows XP . Det er en del av Minnehåndtering som kan øke hastigheten på Windows boot prosessen og forkorte tiden det tar å starte opp programmer. Det oppnår dette ved å bufre filer som er nødvendig av et program til RAM når programmet startes, og dermed konsolidere disklesninger og redusere disksøk. Denne funksjonen ble dekket av US patent 6 633 968.
Siden Windows Vista har Prefetcher blitt utvidet med SuperFetch og ReadyBoost . SuperFetch prøver å akselerere lanseringstidene for programmer ved å overvåke og tilpasse seg bruksmønstre for applikasjoner over tid, og lagre flertallet av filene og dataene som trengs av dem i minnet på forhånd, slik at de kan nås veldig raskt når det er nødvendig. ReadyBoost (når aktivert) bruker eksternt minne som en USB -flash -stasjon for å utvide systembufferen utover mengden RAM som er installert på datamaskinen. ReadyBoost har også en komponent som heter ReadyBoot som erstatter prefektoren for oppstartsprosessen hvis systemet har 700 MB eller mer RAM.
Oversikt
Når et Windows -system starter opp, må komponenter i mange filer leses inn i minnet og behandles. Ofte lastes forskjellige deler av den samme filen (f.eks. Registerelementer) til forskjellige tider. Som et resultat blir det brukt en betydelig mengde tid på å "hoppe" fra fil til fil og tilbake flere ganger, selv om en enkelt tilgang ville være mer effektiv. Forhånden fungerer ved å se på hvilke data som er tilgjengelig under oppstartsprosessen (inkludert data som er lest fra NTFS Master File Table ), og registrere en sporfil av denne aktiviteten. Oppstartsfettingen vil fortsette å se etter slik aktivitet til 30 sekunder etter at brukerens skall har startet, eller til 60 sekunder etter at alle tjenestene er ferdig med initialisering, eller til 120 sekunder etter at systemet har startet, det som går først.
Fremtidige støvler kan deretter bruke informasjonen som er registrert i denne sporingsfilen til å laste inn kode og data på en mer effektiv måte (dvs. ved å ombestille disklesninger for å minimere eller eliminere behovet for å få tilgang til den samme filen flere ganger og dermed minimere diskhodebevegelser).
Henting av applikasjoner fungerer på lignende måte, men er i stedet lokalisert til oppstart av en enkelt applikasjon. Bare de første 10 sekundene med aktivitet overvåkes.
Forhåndsmaskinen lagrer sporingsfilene i "Prefetch" -mappen inne i Windows -mappen (vanligvis C:\Windows\Prefetch). Navnet på oppstartssporingsfilen er alltid NTOSBOOT-B00DFAAD.PF, og applikasjonssporingsfiler er en sammenkopling av programmets kjørbare navn, en bindestrek, en heksadesimal representasjon av hasjen til banen filen ligger i, og en ".pf" forlengelse. Applikasjoner som er vert for andre komponenter (f.eks. Microsoft Management Console eller Dllhost) har også navnet på den lastede komponenten som er inkludert i den beregnede hashen. Dette resulterer i at forskjellige sporfiler blir opprettet for hver komponent.
Vær oppmerksom på at oppgaveplanleggeren er prosessen som er ansvarlig for å analysere sporingsdataene som er samlet inn av forhåndsmaskinen og skrive filer til prefetcher -katalogen. Som et resultat vil prefetcher ikke fungere riktig hvis oppgaveplanlegger -tjenesten ikke startes.
For å forbedre tilgangstidene ytterligere, ringer Oppgaveplanlegger Windows Diskdefragmentering hver tredje dag. Når maskinen er inaktiv, behandles listene over filer og kataloger som det ble referert til under oppstartsprosessen og oppstart av applikasjoner. Det behandlede resultatet blir lagret i Layout.iniPrefetch-katalogen, og blir deretter sendt til Diskdefragmentering, og instruerer det i å ordne filene på nytt i sekvensielle posisjoner på den fysiske harddisken.
Dette vil forbedre ytelsen ytterligere ved å minimere avstanden til at harddiskens hoder må flyttes fra en fil til den neste.
Det er mulig å utløse denne ombestillingen (ved å kjøre "Defrag.exe % systemdrive % -b" fra kommandolinjen) uten å kjøre en full defragmentering.
Hvis systemet er installert på en SSD-stasjon , er Superfetch deaktivert, men vanlig forhåndshenting er aktivert.
Konfigurasjon
Prefetcher -konfigurasjonen er lagret i Windows -registret kl HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters. EnablePrefetcher -verdien kan angis til en av følgende:
- 0 = Deaktivert
- 1 = Forhåndshenting av applikasjoner er aktivert
- 2 = Forhåndshenting av oppstart aktivert (kun standard på Windows Server 2003).
- 3 = Forhåndshenting av program og oppstart aktivert (standard).
Den anbefalte verdien er 3 . Verdier høyere enn 3 øker ikke ytelsen, og hvis du endrer verdien til 2, vil ikke Windows starte raskere.
Feil justering av prefeteren
Ofte finnes på Internett "/prefetch: 1" applikasjonstilpasning, som er en gyldig, men misforstått bryter. Den brukes til å skille mellom forskjellige driftsmoduser for en kjørbar i tilfelle de forskjellige modusene ville ha vesentlig forskjellige forhåndshentingsspor.
En annen myte er at brukeren bør slette innholdet i forhåndsmappen for å øke hastigheten på datamaskinen. Hvis dette er gjort, må Windows opprette alle forhåndshentingsfilene på nytt og derved bremse Windows under oppstart og programmet starter til forhåndshentingsfilene opprettes-med mindre forhåndsdefektoren er deaktivert. Windows opprettholder forhåndshentede filer i Prefetch -mappen for opptil 128 sist lanserte programmer.
Se også
- Windows ReadyBoost
- Windows Vista I/O -teknologier
- Liste over Microsoft Windows -komponenter
- Funksjoner som er nye for Windows XP
- readahead - tilsvarende Linux -teknologi
- Forhåndshenting av lenker - tilsvarende for nettsteder
- Henting av hurtigbuffer
Referanser
Eksterne linker
- Windows Prefetcher Guide
- Prefetch eller SuperFetch
- Windows Prefetch Parser Free-verktøy som kan kjøres på Windows, Linux eller Mac OS-X.