sys.dm_os_memory_objects (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data WarehouseouiParallel Data Warehouse

Retourne des objets mémoire qui sont actuellement alloués par SQL Server. Vous pouvez utiliser sys.dm_os_memory_objects pour analyser l’utilisation de la mémoire et d’identifier les possibles des fuites.

Nom de colonneType de donnéesDescription
memory_object_addressvarbinary (8)Adresse de l'objet mémoire. N'accepte pas la valeur NULL.
parent_addressvarbinary (8)Adresse de l'objet mémoire parent. Autorise la valeur NULL.
pages_allocated_countintS'applique à: SQL Server 2008 et SQL Server 2008 R2.

Nombre de pages allouées par cet objet. N'accepte pas la valeur NULL.
pages_in_bytesbigintS'applique à: SQL Server 2012 et SQL Server 2016.

Quantité de mémoire, en octets, allouée par cette instance de l'objet mémoire. N'accepte pas la valeur NULL.
creation_optionsintÀ usage interne uniquement Autorise la valeur NULL.
bytes_usedbigintÀ usage interne uniquement Autorise la valeur NULL.
typenvarchar (60)Type d'objet mémoire.

Indique le composant auquel cet objet mémoire appartient ou la fonction de l'objet mémoire. Autorise la valeur NULL.
nomvarchar (128)À usage interne uniquement Autorise la valeur Null.
memory_node_idsmallintID d'un nœud de mémoire utilisé par cet objet mémoire. N'accepte pas la valeur NULL.
creation_timedate/heureÀ usage interne uniquement Autorise la valeur NULL.
max_pages_allocated_countintS'applique à: SQL Server 2008 et SQL Server 2008 R2.

Nombre maximum de pages allouées par cet objet mémoire. N'accepte pas la valeur NULL.
page_size_in_bytesintS'applique à: SQL Server 2012 et SQL Server 2016.

Taille des pages, en octets, allouée par cet objet. N'accepte pas la valeur NULL.
max_pages_in_bytesbigintQuantité de mémoire maximale utilisée par cet objet mémoire. N'accepte pas la valeur NULL.
page_allocator_addressvarbinary (8)Adresse mémoire de l'allocateur de page. N'accepte pas la valeur NULL. Pour plus d’informations, consultez sys.dm_os_memory_clerks &#40 ; Transact-SQL &#41 ;.
creation_stack_addressvarbinary (8)À usage interne uniquement Autorise la valeur NULL.
sequence_numintÀ usage interne uniquement Autorise la valeur NULL.
partition_typeintLe type de partition :

0 - objet de mémoire non configurables en partition

1 - objet de mémoire travail, actuellement non partitionnée

2 - objet de mémoire travail, partitionnée par nœud NUMA. Dans un environnement avec un seul nœud NUMA, cela équivaut à 1.

3 - objet travail mémoire partitionné par processeur.
contention_factorréelValeur spécifiant la contention sur cet objet mémoire, avec 0, ce qui signifie qu’aucun conflit. La valeur est mise à jour chaque fois qu’un nombre spécifié d’allocations de mémoire effectué réfléchissante contention pendant cette période. S’applique uniquement aux objets de mémoire thread-safe.
waiting_tasks_countbigintNombre d’attentes sur cet objet mémoire. Ce compteur est incrémenté chaque fois que la mémoire est allouée à partir de cet objet mémoire. L’incrément est le nombre de tâches en attente pour l’accès à cet objet mémoire. S’applique uniquement aux objets de mémoire thread-safe. Il s’agit d’une meilleure valeur effort sans garantie d’exactitude.
exclusive_access_countbigintSpécifie la fréquence à laquelle cet objet mémoire était accessible exclusivement. S’applique uniquement aux objets de mémoire thread-safe. Il s’agit d’une meilleure valeur effort sans garantie d’exactitude.
« pdw_node_id »intS’applique à: Azure SQL Data Warehouse, Parallel Data Warehouse

L’identificateur pour le nœud de cette distribution.

partition_type, contention_factor, waiting_tasks_count, et exclusive_access_count ne sont pas encore implémentées dans Base de données SQL.

requièrent l'autorisation VIEW SERVER STATE sur le serveur.

Les objets mémoire sont des segments. Ils fournissent des allocations qui ont une granularité plus fine que celles fournies par les régisseurs de mémoire. Les composants SQL Server utilisent des objets mémoire au lieu de régisseurs de mémoire. Les objets mémoire utilisent l'interface d'allocation de page du régisseur de mémoire pour allouer les pages. Ils n'utilisent pas les interfaces de mémoire virtuelle ou partagée. Selon les modèles d'allocation, les composants peuvent créer différents types d'objets mémoire pour allouer des régions de taille arbitraire.

La taille de page type pour un objet mémoire est de 8 Ko. Toutefois, les objets mémoire incrémentiels peuvent avoir des tailles de page allant de 512 octets à 8 Ko.

System_CAPS_ICON_note.jpg Remarque


La taille de page n'est pas une allocation maximale. Il s'agit en fait de granularité d'allocation prise en charge par un allocateur de page et mise en œuvre par un régisseur de mémoire. Vous pouvez demander des allocations supérieures à 8 Ko d'objets mémoire.

L'exemple suivant retourne la quantité de mémoire allouée par chaque type d'objet mémoire.

SELECT SUM (pages_in_bytes) as 'Bytes Used', type   
FROM sys.dm_os_memory_objects  
GROUP BY type   
ORDER BY 'Bytes Used' DESC;  
GO  

Vues de gestion dynamique et fonctions &#40 ; Transact-SQL &#41 ;
Système d’exploitation SQL Server liées des vues de gestion dynamique &#40 ; Transact-SQL &#41 ;
Sys.dm_os_memory_clerks &#40 ; Transact-SQL &#41 ;

Ajouts de la communauté

AJOUTER
Afficher: