Partager via


support Large-Page

La prise en charge de grandes pages permet aux applications serveur d’établir des régions de mémoire volumineuses, particulièrement utiles sur Windows 64 bits. Chaque traduction de grande page utilise une mémoire tampon de traduction unique à l’intérieur du processeur. La taille de cette mémoire tampon est généralement de trois ordres de grandeur supérieurs à la taille de page native ; cela augmente l’efficacité de la mémoire tampon de traduction, ce qui peut augmenter les performances de la mémoire fréquemment sollicitée.

La procédure suivante explique comment utiliser la prise en charge de grandes pages.

Pour utiliser la prise en charge de grandes pages

  1. Obtenez le privilège SeLockMemoryPrivilege en appelant la fonctionAdjustTokenPrivileges. Pour plus d’informations, consultez Affectation de privilèges à un compte et modification des privilèges dans unde jeton.
  2. Récupérez la taille minimale de grande page en appelant la fonction GetLargePageMinimum.
  3. Incluez la valeur MEM_LARGE_PAGES lors de l’appel de la fonction VirtualAlloc. La taille et l’alignement doivent être un multiple du minimum de grande page.

Lorsque vous écrivez des applications qui utilisent de la mémoire volumineuse, gardez à l’esprit les considérations suivantes :

  • Les régions de mémoire volumineuses peuvent être difficiles à obtenir une fois que le système a été exécuté depuis longtemps, car l’espace physique de chaque grande page doit être contigu, mais la mémoire peut être fragmentée. L’allocation de pages volumineuses dans ces conditions peut affecter considérablement les performances du système. Par conséquent, les applications doivent éviter d’effectuer des allocations de pages volumineuses répétées et d’allouer à la place toutes les pages volumineuses une seule fois, au démarrage.
  • La mémoire est toujours en lecture/écriture et non modifiable (toujours résident dans la mémoire physique).
  • La mémoire fait partie des octets privés du processus, mais pas dans le jeu de travail, car le jeu de travail par définition contient uniquement de la mémoire paginable.
  • Les allocations de pages volumineuses ne sont pas soumises à des limites de travail.
  • La mémoire volumineuse doit être réservée et validée en tant qu’opération unique. En d’autres termes, les grandes pages ne peuvent pas être utilisées pour valider une plage de mémoire précédemment réservée.
  • WOW64 sur les systèmes Intel Itanium ne prend pas en charge les applications 32 bits qui utilisent cette fonctionnalité. Les applications doivent être recompilées en tant qu’applications 64 bits natives.