Partilhar via


Suporte Large-Page

O suporte a páginas grandes permite que os aplicativos de servidor estabeleçam regiões de memória de páginas grandes, 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 é tipicamente três ordens de magnitude maior do 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 a páginas grandes.

Para usar o suporte de páginas grandes

  1. Obtenha o SeLockMemoryPrivilege privilégio chamando a funçãoAdjustTokenPrivileges. Para obter mais informações, consulte Atribuindo privilégios a um de conta e Alterando privilégios em um token.
  2. Recupere o tamanho mínimo de página grande chamando o função GetLargePageMinimum.
  3. Inclua o valor MEM_LARGE_PAGES ao chamar a funçãoVirtualAlloc. 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 por um longo tempo porque o espaço físico para cada página grande deve ser contíguo, mas a memória pode ter ficado fragmentada. A alocação de 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/escrita e não paginável (sempre residente na memória física).
  • A memória é parte do processo bytes privados, mas não parte do conjunto de trabalho, porque 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 previamente reservado.
  • O WOW64 em sistemas baseados em Intel Itanium não suporta aplicativos de 32 bits que usam esse recurso. Os aplicativos devem ser recompilados como aplicativos nativos de 64 bits.