Partager via


Améliorations du cache et du Gestionnaire de mémoire

Cette rubrique décrit les améliorations apportées au Gestionnaire de cache et à Memory Manager dans Windows Server 2012 et 2016.

Améliorations apportées au Gestionnaire de cache dans Windows Server 2022

Le gestionnaire de cache prend désormais en charge NUMA, ce qui permet au système d’éviter les déplacements de données entre les limites de NUMA. Éviter d’accéder à partir d’un nœud NUMA à la mémoire et à d’autres ressources de noyau sur un autre nœud NUMA ajoute beaucoup de surcharge. En prenant en compte le gestionnaire de cache NUMA, nous avons éliminé ces tronçons inter-NUMA, ce qui optimise les charges de travail d’E/S mises en cache s’exécutant sur des configurations à plusieurs nœuds.

Améliorations apportées au Gestionnaire de cache dans Windows Server 2019

Nous avons ajouté la prise en charge Zero-Copy du stockage de mémoire persistante (PMEM). Pour plus d’informations sur l’utilisation de la mémoire persistante, consultez Comprendre et déployer la mémoire persistante. En mode Accès direct, PMEM fonctionne comme la mémoire pour obtenir la latence la plus faible, où nous éliminons une copie supplémentaire des données et contournons beaucoup de surcharge à partir du système de fichiers Mini-Filters et de la pile de stockage. Ce mode fonctionne uniquement avec NTFS en tant que système de fichiers.

Améliorations apportées au Gestionnaire de cache dans Windows Server 2016

Le Gestionnaire de cache a également ajouté la prise en charge des lectures mises en cache asynchrones vraies. Cela peut potentiellement améliorer les performances d’une application si elle s’appuie fortement sur des lectures mises en cache asynchrones.  Bien que la plupart des systèmes de fichiers box aient pris en charge les lectures asynchrones mises en cache pendant un certain temps, il y a souvent eu des limitations de performances en raison de divers choix de conception liés à la gestion des files d’attente de travail internes des pools de threads et des systèmes de fichiers.  Avec la prise en charge du noyau approprié, le Gestionnaire de cache masque désormais toutes les complexités de gestion des files d’attente de threads et des files d’attente de travail, ce qui rend plus efficace la gestion des lectures mises en cache asynchrones. Le Gestionnaire de cache a un ensemble de structures de données de contrôle pour chacun des niveaux d’imbrication de disque dur virtuel pris en charge par le système pour optimiser le parallélisme.

Améliorations apportées au Gestionnaire de cache dans Windows Server 2012

En plus des améliorations apportées au Gestionnaire de cache pour la logique de lecture anticipée pour les charges de travail séquentielles, une nouvelle API CcSetReadAheadGranularityEx a été ajoutée pour permettre aux pilotes de système de fichiers, tels que SMB, de modifier leurs paramètres de lecture anticipée. Elle permet un meilleur débit pour les scénarios de fichiers distants en envoyant plusieurs demandes anticipées de lecture de petite taille au lieu d’envoyer une seule demande de lecture anticipée volumineuse. Seuls les composants du noyau, tels que les pilotes de système de fichiers, peuvent configurer ces valeurs par programme par fichier.

Améliorations apportées à Memory Manager dans Windows Server 2012

L’activation de la combinaison de pages peut réduire l’utilisation de la mémoire sur les serveurs qui comportent un grand nombre de pages paginables dont le contenu est identique. Par exemple, les serveurs exécutant plusieurs instances de la même application gourmande en mémoire ou une seule application qui fonctionne avec des données très répétitives peuvent être de bons candidats pour essayer la combinaison de pages. L’inconvénient de l’activation de la combinaison de pages est l’augmentation de l’utilisation du processeur.

Voici quelques exemples de rôles serveur où la combinaison de pages est peu susceptible d’offrir beaucoup d’avantages :

  • Serveurs de fichiers (la plupart de la mémoire est consommée par les pages de fichiers qui ne sont pas privées et ne peuvent donc pas être combinées)

  • Serveurs Microsoft SQL configurés pour utiliser AWE ou de grandes pages (la plupart de la mémoire est privée mais non paginable)

La combinaison de pages est désactivée par défaut, mais peut être activée à l’aide de l’applet Windows PowerShell de Enable-MMAgent. La combinaison de pages a été ajoutée dans Windows Server 2012.