sys.dm_os_memory_brokers (Transact-SQL)

Les allocations internes à SQL Server utilisent le gestionnaire de mémoire de SQL Server. Le suivi des différences entre les compteurs de mémoire de processus de sys.dm_os_process_memory et les compteurs internes peut indiquer une utilisation de la mémoire par des composants externes dans l'espace mémoire de SQL Server.

Les gestionnaires d'allocation mémoire distribuent équitablement les allocations de mémoire entre différents composants dans SQL Server, en fonction de l'utilisation en cours et projetée. Les gestionnaires d'allocation mémoire n'effectuent pas d'allocations. Ils n'effectuent que le suivi des allocations pour calculer la distribution.

Le tableau suivant contient des informations sur les gestionnaires d'allocation mémoire.

Nom de la colonne

Type de données

Description

memory_broker_type

nvarchar(60)

Type de gestionnaire d'allocation mémoire. Il existe actuellement trois types de gestionnaires d'allocation mémoire dans SQL Server.

ValeurDescription
MEMORYBROKER_FOR_CACHEMémoire allouée pour être utilisée par des objets mis en cache.
MEMORYBROKER_FOR_STEALMémoire occultée du pool de mémoires tampons. Cette mémoire ne peut pas être réutilisée par d'autres composants tant qu'elle n'est pas libérée par le propriétaire actuel.
MEMORYBROKER_FOR_RESERVEMémoire réservée pour une utilisation future par les requêtes en cours d'exécution.

allocations_kb

bigint

Quantité de mémoire, en kilo-octets (Ko), allouée à ce type de gestionnaire.

allocations_per_sec

int

Taux actuel d'allocation attribué à ce gestionnaire.

target_allocations_kb

bigint

Quantité recommandée de mémoire allouée, en kilo-octet (Ko), basée sur les paramètres actuels et le modèle d'utilisation de la mémoire. Ce gestionnaire doit croître ou décroître jusqu'à ce nombre.

future_allocations_kb

bigint

Nombre projeté d'allocations, en kilo-octet (Ko), qui seront effectuées dans les prochaines secondes.

last_notification

nvarchar(60)

Recommandation relative à l'utilisation de la mémoire basée sur les paramètres actuels et le modèle d'utilisation. Les valeurs valides sont les suivantes :

  • grow

  • shrink

  • stable

pool_id

int

ID du pool de ressources s'il est associé à un pool du gouverneur de ressources.

allocations_kb_per_sec

bigint

Taux d'allocations de mémoire en kilo-octets (Ko) par seconde. Cette valeur peut être négative pour les désallocations de mémoire.

predicated_allocations_kb

bigint

Quantité prédite de mémoire allouée par le gestionnaire. Cette valeur est basée sur le modèle d'utilisation de la mémoire.

overall_limit_kb

bigint

Quantité maximale de mémoire, en kilo-octets (Ko), que le gestionnaire peut allouer.

Autorisations

Nécessite l'autorisation VIEW SERVER STATE sur le serveur.