Suporte Large-Page
O suporte a páginas grandes permite que aplicativos de servidor estabeleçam regiões de memória de página grande, o que é particularmente útil no Windows de 64 bits. Cada tradução de página grande usa um único buffer de tradução dentro da CPU. O tamanho desse buffer normalmente é três pedidos de magnitude maior que o tamanho da página nativa; isso aumenta a eficiência do buffer de tradução, o que pode aumentar o desempenho da memória acessada com frequência.
O procedimento a seguir descreve como usar o suporte de página grande.
Para usar o suporte de página grande
- Obtenha o privilégio SeLockMemoryPrivilege chamando a função AdjustTokenPrivileges . Para obter mais informações, consulte Atribuindo privilégios a uma conta e alterando privilégios em um token.
- Recupere o tamanho mínimo de página grande chamando a função GetLargePageMinimum .
- Inclua o valor MEM_LARGE_PAGES ao chamar a função VirtualAlloc . O tamanho e o alinhamento devem ser um múltiplo do mínimo de página grande.
Ao escrever aplicativos que usam memória de página grande, tenha em mente as seguintes considerações:
- Regiões de memória de página grande podem ser difíceis de obter depois que o sistema está em execução há muito tempo porque o espaço físico para cada página grande deve ser contíguo, mas a memória pode ter se fragmentado. Alocar páginas grandes nessas condições pode afetar significativamente o desempenho do sistema. Portanto, os aplicativos devem evitar fazer alocações repetidas de páginas grandes e, em vez disso, alocar todas as páginas grandes uma vez, na inicialização.
- A memória sempre é de leitura/gravação e não pode ser página (sempre residente na memória física).
- A memória faz parte dos bytes privados do processo, mas não faz parte do conjunto de trabalho, pois o conjunto de trabalho por definição contém apenas memória paginável.
- As alocações de páginas grandes não estão sujeitas a limites de trabalho.
- A memória de página grande deve ser reservada e confirmada como uma única operação. Em outras palavras, páginas grandes não podem ser usadas para confirmar um intervalo de memória reservado anteriormente.
- O WOW64 em sistemas baseados em Itanium Intel não dá suporte a aplicativos de 32 bits que usam esse recurso. Os aplicativos devem ser recompilados como aplicativos nativos de 64 bits.