Symptomer

Du oplever problemer med ydeevnen i programmer og tjenester i forskellige versioner af Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 og Windows Server 2008 R2. Desuden bemærker du følgende symptomer:

  • Den tilgængelige hukommelse er næsten opbrugt.

  • Systemsystemet filcache det meste af den fysiske RAM.

  • Der er en kontinuerlig og stor mængde cachelagrede læseanmodninger på harddisken.

Årsag

Hukommelsesstyring i Microsoft Windows-operativsystemer anvender en efterspørgselsbaseret algoritme. Hvis der er nogen procesanmodninger og bruger en stor mængde hukommelse, øges arbejdssættets størrelse (antallet af hukommelsessider i det fysiske RAM) for processen. Hvis disse anmodninger er kontinuerlige og ikke-markeret, vokser arbejdssættet for processen til at forbruge al den fysiske RAM. I denne situation bliver arbejdssæt for alle de andre processer sidet ud til harddisken. Denne funktionsmåde reducerer ydeevnen for programmer og tjenester, fordi hukommelsessiderne hele tiden skrives til harddisken og læses fra harddisken.

Denne funktionsmåde gælder også for arbejdssættet af systemet filcache. Hvis der er en kontinuerlig og stor mængde af cachelagrede læseanmodninger fra enhver proces eller fra en vilkårlig driver, vokser systemets arbejdsmængde filcache for at imødekomme dette behov. Systemsystemet filcache den fysiske RAM. Derfor er der ikke tilstrækkelige mængder fysisk RAM til rådighed for andre processer.

I 32-bit versioner af Microsoft Windows-operativsystemer, der er ældre end Windows Vista, har arbejdssæt af system filcache en teoretisk hukommelsesgrænse på mindre end 1 gigabyte (GB). Begrænsningen af det virtuelle adresseområde forhindrer systemets arbejdssæt i at filcache det fysiske RAM., så det ikke anstrenger sig.

På 32-bit versioner af Windows Vista-operativsystemer allokeres kerneressourcer dynamisk. Arbejdssættet af systemet øges filcache at forbruge det virtuelle adresseområde i kernetilstanden på udgiften til andre kerneressourcer. Begrænsningen af dette hukommelsesområde er mindre end 2 GB. Hvis computeren har mere end 2 GB fysisk RAM, kan cachen ikke udtømme al den fysiske RAM. Men cachen kan udtømme det virtuelle adresseområde i kernen. Dette kan medføre allokeringsfejl for andre kernekomponenter.

I 64-bit versioner af Windows-operativsystemer er størrelsen af det virtuelle adresseområde typisk større end den fysiske RAM. I denne situation kan arbejdssættet for systemsystemet øges filcache at forbruge det meste af den fysiske RAM.

Løsning

Algoritmerne til hukommelsesstyring i Windows 7- og Windows Server 2008 R2-operativsystemer er blevet opdateret for at løse mange problemer med cachelagring af filer, der blev fundet i tidligere versioner af Windows. Der er kun visse unikke situationer, hvor du skal implementere denne tjeneste på computere, der kører Windows 7 eller Windows Server 2008 R2.

Sådan finder du ud af, om dit system påvirkes

Hvis du vil finde ud af, om dit system er påvirket af dette problem, skal du installere værktøjet SysInternals RamMap. Du kan hente værktøjet fra følgende Windows Sysinternals-websted:

http://technet.microsoft.com/en-us/sysinternals/ff700229
Når du kører værktøjet, skal du vælge indstillingen Brug antal. Dette viser flere kolonner, der viser det aktuelle mønster for hukommelsesforbrug. Klik på kolonnen Aktiv for at sortere efter antallet af anvendte byte, og bemærk det øverste forbrug direkte under totalen.

Hvis det øverste brugsantal er "Metafil", og hvis en stor del af den tilgængelige hukommelse bruges, oplever du problemet med systemfilcachen, der er beskrevet i afsnittet "Symptomer". Du kan bekræfte dette ved hjælp af Performance Monitor til at overvåge tælleren Hukommelse\Systemcache for residente byte og se cachen vokse løbende over tid.

Figur 1. Eksempel på RamMap-output, hvor computeren oplever problemet.


alternativ tekst
Figur 2. Eksempel på RamMap-output, hvor computeren ikke oplever problemet.


alternativ tekst
Hvis tælleren Memory\System Cache Resident Bytes i Performance Monitor viser en opadgående tendens over tid, oplever computeren problemet som vist i Figur 3.

Figur 3. Eksempel på ydeevneovervågningsoutput, hvor computeren oplever problemet over tid.

alternativ tekst

Krav til genstart

Du behøver ikke at genstarte computeren, når du installerer, fjerner eller bruger denne tjeneste.

Hvis du læser denne artikel, fordi du arbejder sammen med en kunde, der mener, at de er påvirket af dette problem, skal du følge disse trin for at løse problemet.

  1. Kontrollér, at kundens RamMap-output, perfmon- eller poolmondata bekræfter, at Systemfilcachen bruger det meste af den fysiske RAM, som beskrevet tidligere.

  2. Hent tjenesten Windows Dynamic Cache for at hente den her.

  3. Nogle indstillinger i registreringsdatabasen for Dynamic Cache er som følger:

    Filservere, kan det være en ide at 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, kan du 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 har tidligere brugt 2 GB, når du arbejder med SQL EE'er:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

Flere oplysninger

Du kan løse dette problem ved at bruge funktionen GetSystemFileCacheSize API og funktionen SetSystemFileCacheSize API til at angive maksimum- eller minimumsstørrelsesværdien for arbejdssættet for systemet filcache. Brugen af disse funktioner er den eneste understøttede metode til at begrænse forbrug af fysisk hukommelse af systemets filcache.

Microsoft Windows Dynamic Cache Service er en eksempeltjeneste, der viser en strategi til at bruge disse API'er til at minimere effekten af dette problem.

Installation og brug af Tjenesten Microsoft Dynamic Cache medfører ikke udelukkelse af understøttelse af Microsoft Windows. Denne tjeneste og dens kildekode er leveret som et eksempel på, hvordan du bruger De Microsoft-understøttede API'er til at reducere væksten i filsystemcachen.

Du kan hente tjenesten og kildekoden fra følgende Microsoft-websted:

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

Yderligere ressourcer

Læs kapitlerne 9 (Hukommelsesstyring) og 10 (Cachestyring) for Windows Internals, 5. udgave.

BLOGINDLÆG OM HUKOMMELSESSTYRING (STORE PROBLEMER I SYSTEMCACHEN)

Blogindlæg om langsomme problemer med kopi af store filer

Hukommelsesgrænser for Windows-versioner

976618 Du oplever problemer med ydeevnen i programmer og tjenester, når system filcache bruger det meste af den fysiske RAM 918483 Sådan reduceres sideinddeling af hukommelse i bufferpulje i 64-bit versionen af SQL Server 895932 Ting, du skal overveje, før du aktiverer Systemcachetilstand i Windows XP 232271 Sådan optimerer du Windows NT Server ved hjælp af registreringsdatabasen







837331 Om Cachestyring i Windows Server 2003

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

LargeSystemCache TechNet-emne

rammap-blogindlæg 

Status

Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Har du brug for mere hjælp?

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Deltag i Microsoft insiders

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af oversættelsen?

Hvad påvirkede din oplevelse?

Har du mere feedback? (Valgfrit)

Tak for din feedback!

×