SQL Server, objet Memory Manager
S'applique à : SQL Server
L’objet Memory Manager dans Microsoft SQL Server fournit des compteurs pour surveiller l’utilisation globale de la mémoire du serveur. La surveillance globale de l'utilisation de la mémoire du serveur afin de mesurer l'activité de l'utilisateur et son exploitation des ressources peut être utile pour détecter les goulots d'étranglement des performances. La surveillance de la mémoire utilisée par une instance de SQL Server peut vous aider à déterminer :
si des goulots d'étranglement existent en raison d'une quantité de mémoire physique disponible inadéquate pour le stockage de données fréquemment accédées dans le cache ; Si la mémoire est insuffisante, SQL Server doit récupérer les données du disque.
Si les performances des requêtes peuvent être améliorées en ajoutant plus de mémoire ou en rendant plus de mémoire disponible pour le cache de données ou les structures internes SQL Server.
Compteurs du Gestionnaire de mémoire
Ce tableau décrit les compteurs du Gestionnaire de mémoire SQL Server.
Compteurs du Gestionnaire de mémoire de SQL Server | Description |
---|---|
Mémoire de connexion (Ko) | Spécifie la quantité totale de mémoire dynamique utilisée par le serveur pour maintenir les connexions. |
Mémoire du cache de base de données (Ko) | Spécifie la quantité de mémoire actuellement utilisée par le serveur pour le cache de la base de données. |
Avantage externe de mémoire | Estimation interne des gains de performances résultant de l’ajout de mémoire à un cache spécifique. Ce compteur, utilisé par le moteur pour équilibrer l’utilisation de mémoire entre le cache, peut s’avérer utile pour résoudre les problèmes liés à la croissance inattendue du cache. La valeur est présentée sous forme d’un entier basé sur un calcul interne. |
Mémoire disponible (Ko) | Spécifie la quantité de mémoire allouée actuellement non utilisée par le serveur. |
Mémoire réservée de l'espace de travail (Ko) | Spécifie la quantité totale de mémoire actuellement réservée à l'exécution de processus tels que les opérations de hachage, de tri, de copie en bloc et de créations d'index. |
Blocs de verrous | Spécifie le nombre actuel de blocs de verrous utilisés sur le serveur (mis à jour régulièrement). Un bloc de verrous représente une ressource individuelle verrouillée, comme une table, une page ou une ligne. |
Blocs de verrous alloués | Spécifie le nombre actuel de blocs de verrous alloués. Au démarrage du serveur, le nombre de blocs de verrous alloués et le nombre de blocs propriétaires de verrous alloués dépendent de l’option de configuration verrous SQL Server. Si un plus grand nombre de blocs de verrous est nécessaire, cette valeur augmente. |
Mémoire des verrous (Ko) | Spécifie la quantité totale de mémoire dynamique qu'utilise le serveur pour les verrous. |
Blocs propriétaires de verrous | Spécifie le nombre actuel de blocs propriétaires de verrous utilisés sur le serveur (mis à jour régulièrement). Un bloc propriétaire de verrous représente l'appropriation d'un objet par un verrou via un thread individuel. Par conséquent, si trois threads disposent chacun d'un verrou partagé sur une page, il y aura trois blocs propriétaires de verrous. |
Blocs propriétaires de verrous alloués | Spécifie le nombre actuel de blocs propriétaires de verrous alloués. Au démarrage du serveur, le nombre de blocs de propriétaire de verrous alloués et le nombre de blocs de verrous alloués dépendent de l’option de configuration verrous SQL Server. Si un plus grand nombre de blocs propriétaires de verrous est nécessaire, cette valeur augmente dynamiquement. |
Mémoire du pool de journal (Ko) | Quantité de mémoire dynamique utilisée par le serveur pour le pool du journal. |
Mémoire maximale de l'espace de travail (Ko) | Indique la quantité maximale de mémoire disponible pour exécuter des processus, tels que les opérations de hachage, de tri, de copie en bloc et de création d'index. |
Demandes de mémoire satisfaites | Spécifie le nombre total de processus qui ont acquis avec succès une allocation de mémoire de l'espace de travail. |
Demandes de mémoire en attente | Spécifie le nombre total de processus en attente d'une allocation de mémoire de l'espace de travail. |
Mémoire de l'optimiseur (Ko) | Spécifie la quantité totale de mémoire dynamique utilisée par le serveur pour l'optimisation des requêtes. |
Mémoire réservée du serveur (Ko) | Indique la quantité de mémoire réservée par le serveur pour un usage futur. Ce compteur affiche la quantité actuellement inutilisée de Mémoire réservée de l’espace de travail (Ko)octroyée initialement. |
Mémoire du cache SQL (Ko) | Spécifie la quantité totale de mémoire dynamique utilisée par le serveur pour le cache SQL dynamique. |
Mémoire détournée du serveur (Ko) | Spécifie la quantité de mémoire utilisée par le serveur à d'autres fins que les pages de bases de données. |
Mémoire du serveur cible (Ko) | Indique la quantité idéale de mémoire que le serveur peut consommer. |
Mémoire totale du serveur (Ko) | Spécifie la quantité de mémoire allouée par le serveur à l'aide du Gestionnaire de mémoire. |
Exemple
Vous commencez à explorer les compteurs de performances des requêtes dans cet objet en utilisant cette requête T-SQL sur la vue de gestion dynamique sys.dm_os_performance_counters :
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Memory Manager%';