Du opplever ytelsesproblemer i programmer og tjenester når hurtigbufferen for systemfiler bruker mesteparten av den fysiske RAM-en

Symptomer

Du opplever ytelsesproblemer i programmer og tjenester i ulike versjoner av Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 og Windows Server 2008 R2. I tillegg legger du merke til følgende symptomer:

  • Tilgjengelig minne er nesten uttømmet.

  • Systemfilhurtigbufferen bruker mesteparten av den fysiske RAM-en.

  • Det finnes en kontinuerlig og høy mengde bufrede leseforespørsler til harddisken.

Årsak

Minnebehandling i Microsoft Windows-operativsystemer bruker en behovsbasert algoritme. Hvis noen prosessforespørsler og bruker en stor mengde minne, økes størrelsen på arbeidssettet (antall minnesider i den fysiske RAM-en) i prosessen. Hvis disse forespørslene er kontinuerlige og ikke er avmerket, vil arbeidssettet i prosessen øke til å bruke all den fysiske RAM-en. I denne situasjonen er arbeidssettene for alle de andre prosessene side ved side på harddisken. Denne virkemåten reduserer ytelsen til programmer og tjenester, fordi minnesidene skrives kontinuerlig til harddisken og leses fra harddisken.

Denne virkemåten gjelder også for arbeidssettet til hurtigbufferen for systemfiler. Hvis det finnes en kontinuerlig og høy mengde bufrede leseforespørsler fra en prosess eller fra en hvilken som helst driver, vil størrelsen på arbeidssettet for systemfilen øke for å dekke dette behovet. Systemfilhurtigbufferen bruker den fysiske RAM-en. Derfor er tilstrekkelig mengde fysisk RAM ikke tilgjengelig for andre prosesser.

I 32-biters versjoner av Microsoft Windows-operativsystemer som er eldre enn Windows Vista, har arbeidssettene til systemfilhurtigbufferen en teoretisk minnegrense på mindre enn 1 GB. Begrensningen i det virtuelle adresseområdet hindrer at arbeidssettene i systemfilhurtigbufferen bruker opp den fysiske RAM-en.

I 32-biters versjoner av Windows Vista-operativsystemer tildeles kjerneressurser dynamisk. Arbeidssettet til systemfilhurtigbufferen øker for å bruke det virtuelle adresseområdet til kjernemodus på utgifter fra andre kjerneressurser. Begrensningen på dette minneområdet er mindre enn 2 GB. Hvis datamaskinen har mer enn 2 GB fysisk RAM, kan ikke hurtigbufferen bruke opp all den fysiske RAM-en. Hurtigbufferen kan imidlertid bruke opp det virtuelle adresseområdet i kjerneområdet. Dette kan føre til tildelingsfeil for andre kjernekomponenter.

I 64-biters versjoner av Windows-operativsystemer er størrelsen på det virtuelle adresseområdet vanligvis større enn den fysiske RAM-en. I denne situasjonen kan arbeidssettet for hurtigbufferen for systemfiler øke for å bruke mesteparten av den fysiske RAM-en.

Løsning

Algoritmene for minnebehandling i Windows 7 og Windows Server 2008 R2 operativsystemer ble oppdatert for å håndtere mange problemer med filbufring som ble funnet i tidligere versjoner av Windows. Det finnes bare visse unike situasjoner der du må implementere denne tjenesten på datamaskiner som kjører Windows 7 eller Windows Server 2008 R2.

Slik finner du ut om systemet påvirkes

Hvis du vil finne ut om systemet er påvirket av dette problemet, kan du installere verktøyet SysInternals RamMap. Du kan få verktøyet fra følgende Windows Sysinternals-nettsted:

http://technet.microsoft.com/en-us/sysinternals/ff700229
Når du kjører verktøyet, velger du alternativet Bruk antall. Dette viser flere kolonner som viser det gjeldende mønsteret for minnebruk. Klikk den aktive kolonnen for å sortere etter antall byte som er brukt, og noter deg toppbruken rett under totalen.

Hvis det øverste bruksantallet er «Metafil», og hvis en stor del av tilgjengelig minne brukes, opplever du problemer med systemfilhurtigbufferen som er beskrevet under Symptomer. Du kan kontrollere dette ved å bruke Ytelsesmåler til å overvåke telleren for residente byte i minne\Systembuffer, og se at bufferen vokser kontinuerlig over tid.

Figur 1. Eksempel på RamMap-utdata der det er problemer på datamaskinen.


alternativ tekst
Figur 2. Eksempel på RamMap-utdata der datamaskinen ikke har problemet.


alternativ tekst
Hvis telleren for residente byte i Minne\System Cache i Ytelsesmåler viser en oppadgående trend over tid, opplever datamaskinen problemet, som vist i figur 3.

Figur 3. Eksempel på ytelsesovervåkingsutdata der datamaskinen opplever problemet over tid.

alternativ tekst

Omstartskrav

Du trenger ikke å starte datamaskinen på nytt når du installerer, avinstallerer eller bruker denne tjenesten.

Hvis du leser denne artikkelen fordi du arbeider med en kunde som tror at de er påvirket av dette problemet, følger du disse trinnene for å løse problemet.

  1. Kontroller at kundens RamMap-utdata, perfmon- eller poolmon-data bekrefter at systemfilhurtigbufferen bruker mesteparten av den fysiske RAM-en, som beskrevet tidligere.

  2. Hvis du vil ha tak i tjenesten for dynamisk buffer for Windows, kan du laste den ned her.

  3. Noen av innstillingene for registeret for dynamisk hurtigbuffer er som følger:

    Filservere, kan du prøve 1 GB.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007, vil du kanskje prøve 500 MB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 og nyere, tidligere når du arbeider med SQL EE-er, har brukt 2 GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

Mer informasjon

Du kan omgå dette problemet ved å bruke funksjonen GetSystemFileCacheSize API og SetSystemFileCacheSize API-funksjonen til å angi maksimums- eller minimumsstørrelsesverdien for arbeidssettene i systemfilhurtigbufferen. Bruken av disse funksjonene er den eneste støttede metoden for å begrense forbruket av fysisk minne av systemfilhurtigbufferen.

Tjenesten dynamisk buffer for Microsoft Windows er en eksempeltjeneste som demonstrerer én strategi for å bruke disse API-ene for å minimere effekten av dette problemet.

Installasjon og bruk av tjenesten Dynamisk buffer for Microsoft fører ikke til utelukkelse av støtte for Microsoft Windows. Denne tjenesten og tilhørende kildekode gis som et eksempel på hvordan du bruker de støttede API-ene fra Microsoft for å redusere veksten i hurtigbufferen for filsystemet.

Du kan få tjenesten og kildekoden fra følgende Microsoft-nettsted:

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

Flere ressurser

Les kapittel 9 (minnebehandling) og 10 (hurtigbufferbehandling) for Windows Internals, den 5. utgaven.

BLOGGINNLEGG OM MINNEBEHANDLING (PROBLEMER MED STORE SYSTEMHURTIGBUFFER)

Blogginnlegg om trege problemer med kopiering av store filer

Minnegrenser for Windows-lanseringer

976618 Du opplever ytelsesproblemer i programmer og tjenester når hurtigbufferen for systemfiler bruker mesteparten av den fysiske

RAM-en 918483. Slik reduserer du sideveksling mellom bufferutvalgsminnet i 64-bitersversjonen av SQL Server 895932 Things du bør vurdere før du aktiverer systembuffermodus i Windows XP 232271 Hvordan optimalisere Windows NT Server ved hjelp av Register





837331 Om bufferbehandling i Windows Server 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

LargeSystemCache TechNet Topic

RamMap Blog Post 

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produkter som er oppført under Gjelder for.

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med kvaliteten på oversettelsen?

Hva påvirket opplevelsen din?

Har du ytterligere tilbakemeldinger? (valgfritt)

Takk for tilbakemeldingen!

×