Compartir a través de


compatibilidad con Large-Page

La compatibilidad con páginas grandes permite a las aplicaciones de servidor establecer regiones de memoria de página grande, especialmente útiles en Windows de 64 bits. Cada traducción de página grande usa un único búfer de traducción dentro de la CPU. El tamaño de este búfer suele ser tres órdenes de magnitud mayores que el tamaño de página nativo; esto aumenta la eficacia del búfer de traducción, lo que puede aumentar el rendimiento de la memoria a la que se accede con frecuencia.

En el procedimiento siguiente se describe cómo usar la compatibilidad con páginas grandes.

Para usar la compatibilidad con páginas grandes

  1. Obtenga el privilegio SeLockMemoryPrivilege llamando a la funciónAdjustTokenPrivileges. Para obtener más información, consulte Asignar privilegios a una cuenta y Cambiar privilegios en un token.
  2. Recupere el tamaño mínimo de página grande llamando a la funcióngetLargePageMinimum.
  3. Incluya el valor MEM_LARGE_PAGES al llamar a la funciónVirtualAlloc. El tamaño y la alineación deben ser varios de los mínimos de página grande.

Al escribir aplicaciones que usan memoria de página grande, tenga en cuenta las siguientes consideraciones:

  • Las regiones de memoria de página grande pueden ser difíciles de obtener después de que el sistema se haya estado ejecutando durante mucho tiempo, ya que el espacio físico de cada página grande debe ser contiguo, pero es posible que la memoria se haya fragmentado. La asignación de páginas grandes en estas condiciones puede afectar significativamente al rendimiento del sistema. Por lo tanto, las aplicaciones deben evitar realizar asignaciones repetidas de página grande y, en su lugar, asignar todas las páginas grandes una vez al inicio.
  • La memoria siempre es de lectura y escritura y no se puede paginar (siempre residente en la memoria física).
  • La memoria forma parte del proceso de bytes privados, pero no parte del conjunto de trabajo, ya que el conjunto de trabajo por definición solo contiene memoria paginable.
  • Las asignaciones de páginas grandes no están sujetas a límites de trabajo.
  • La memoria de página grande debe reservarse y confirmarse como una sola operación. Es decir, no se pueden usar páginas grandes para confirmar un intervalo de memoria reservado previamente.
  • WOW64 en sistemas basados en Intel Itanium no admite aplicaciones de 32 bits que usan esta característica. Las aplicaciones deben volver a compilarse como aplicaciones nativas de 64 bits.