ondersteuning voor Large-Page
Met ondersteuning voor grote pagina's kunnen servertoepassingen regio's voor geheugen van grote pagina's tot stand brengen, wat met name handig is voor 64-bits Windows. Elke vertaling van grote pagina's maakt gebruik van één vertaalbuffer binnen de CPU. De grootte van deze buffer is doorgaans drie groottevolgordes die groter zijn dan het systeemeigen paginaformaat; dit verhoogt de efficiëntie van de vertaalbuffer, waardoor de prestaties voor veelgebruikt geheugen kunnen worden verbeterd.
In de volgende procedure wordt beschreven hoe u ondersteuning voor grote pagina's gebruikt.
Ondersteuning voor grote pagina's gebruiken
- Verkrijgt de SeLockMemoryPrivilege-bevoegdheid door de AdjustTokenPrivileges-functie aan te roepen. Zie Bevoegdheden toewijzen aan een account en het wijzigen van bevoegdheden in een tokenvoor meer informatie.
- Haal het minimale formaat van een grote pagina op door de functie GetLargePageMinimum aan te roepen.
- Neem de MEM_LARGE_PAGES waarde op bij het aanroepen van de functie VirtualAlloc. De grootte en uitlijning moeten een veelvoud van het minimum aan grote pagina's zijn.
Houd rekening met de volgende overwegingen bij het schrijven van toepassingen die gebruikmaken van geheugen met grote pagina's:
- Geheugenregio's met grote pagina's zijn mogelijk moeilijk te verkrijgen nadat het systeem lange tijd actief is omdat de fysieke ruimte voor elke grote pagina aaneengesloten moet zijn, maar het geheugen mogelijk gefragmenteerd is geworden. Het toewijzen van grote pagina's onder deze omstandigheden kan de systeemprestaties aanzienlijk beïnvloeden. Daarom moeten toepassingen voorkomen dat herhaalde toewijzingen van grote pagina's worden gemaakt en in plaats daarvan alle grote pagina's één keer worden toegewezen bij het opstarten.
- Het geheugen is altijd lezen/schrijven en niet-paginabaar (altijd aanwezig in fysiek geheugen).
- Het geheugen maakt deel uit van het proces privébytes, maar maakt geen deel uit van de werkset, omdat de werkset per definitie alleen wisselbaar geheugen bevat.
- Toewijzingen van grote pagina's zijn niet onderhevig aan taaklimieten.
- Geheugen voor grote pagina's moet worden gereserveerd en vastgelegd als één bewerking. Met andere woorden, grote pagina's kunnen niet worden gebruikt om een eerder gereserveerd geheugenbereik door te voeren.
- WOW64 op Intel Itanium-systemen biedt geen ondersteuning voor 32-bits toepassingen die gebruikmaken van deze functie. De toepassingen moeten opnieuw worden gecompileerd als systeemeigen 64-bits toepassingen.