sys.dm_os_memory_objects (Transact-SQL)sys.dm_os_memory_objects (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data Warehouse ouiParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Retourne des objets mémoire qui sont actuellement alloués par SQL ServerSQL Server.Returns memory objects that are currently allocated by SQL ServerSQL Server. Vous pouvez utiliser sys.dm_os_memory_objects pour analyser l’utilisation de la mémoire et identifier les possibles fuites.You can use sys.dm_os_memory_objects to analyze memory use and to identify possible memory leaks.

Nom de colonneColumn name Type de donnéesData type DescriptionDescription
memory_object_addressmemory_object_address varbinary (8)varbinary(8) Adresse de l'objet mémoire.Address of the memory object. N'accepte pas la valeur NULL.Is not nullable.
parent_addressparent_address varbinary (8)varbinary(8) Adresse de l'objet mémoire parent.Address of the parent memory object. Autorise la valeur NULL.Is nullable.
pages_allocated_countpages_allocated_count intint S'applique à: SQL Server 2008SQL Server 2008 et SQL Server 2008 R2SQL Server 2008 R2.Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2008 R2SQL Server 2008 R2.

Nombre de pages allouées par cet objet.Number of pages that are allocated by this object. N'accepte pas la valeur NULL.Is not nullable.
pages_in_bytespages_in_bytes bigintbigint S'applique à: SQL Server 2012SQL Server 2012 et SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

Quantité de mémoire, en octets, allouée par cette instance de l'objet mémoire.Amount of memory in bytes that is allocated by this instance of the memory object. N'accepte pas la valeur NULL.Is not nullable.
creation_optionscreation_options intint À usage interne uniquementInternal use only. Autorise la valeur NULL.Is nullable.
bytes_usedbytes_used bigintbigint À usage interne uniquementInternal use only. Autorise la valeur NULL.Is nullable.
typetype nvarchar (60)nvarchar(60) Type d'objet mémoire.Type of memory object.

Indique le composant auquel cet objet mémoire appartient ou la fonction de l'objet mémoire.This indicates some component that this memory object belongs to, or the function of the memory object. Autorise la valeur NULL.Is nullable.
nomname varchar (128)varchar(128) À usage interne uniquementInternal use only. Autorise la valeur Null.Nullable.
memory_node_idmemory_node_id smallintsmallint ID d'un nœud de mémoire utilisé par cet objet mémoire.ID of a memory node that is being used by this memory object. N'accepte pas la valeur NULL.Is not nullable.
creation_timecreation_time datetimedatetime À usage interne uniquementInternal use only. Autorise la valeur NULL.Is nullable.
max_pages_allocated_countmax_pages_allocated_count intint S'applique à: SQL Server 2008SQL Server 2008 et SQL Server 2008 R2SQL Server 2008 R2.Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2008 R2SQL Server 2008 R2.

Nombre maximum de pages allouées par cet objet mémoire.Maximum number of pages allocated by this memory object. N'accepte pas la valeur NULL.Is not nullable.
page_size_in_bytespage_size_in_bytes intint S'applique à: SQL Server 2012SQL Server 2012 et SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

Taille des pages, en octets, allouée par cet objet.Size of pages in bytes allocated by this object. N'accepte pas la valeur NULL.Is not nullable.
max_pages_in_bytesmax_pages_in_bytes bigintbigint Quantité de mémoire maximale utilisée par cet objet mémoire.Maximum amount of memory ever used by this memory object. N'accepte pas la valeur NULL.Is not nullable.
page_allocator_addresspage_allocator_address varbinary (8)varbinary(8) Adresse mémoire de l'allocateur de page.Memory address of page allocator. N'accepte pas la valeur NULL.Is not nullable. Pour plus d’informations, consultez sys.dm_os_memory_clerks ( Transact-SQL ) .For more information, see sys.dm_os_memory_clerks (Transact-SQL).
creation_stack_addresscreation_stack_address varbinary (8)varbinary(8) À usage interne uniquementInternal use only. Autorise la valeur NULL.Is nullable.
sequence_numsequence_num intint À usage interne uniquementInternal use only. Autorise la valeur NULL.Is nullable.
partition_typepartition_type intint Le type de partition :The type of partition:

0 - objet de mémoire non-configurable en partition0 - Non-partitionable memory object

1 - objet de mémoire avec partitions, actuellement ne pas partitionnée1 - Partitionable memory object, currently not partitioned

2 - objet de mémoire avec partitions, partitionnée par nœud NUMA.2 - Partitionable memory object, partitioned by NUMA node. Dans un environnement avec un seul nœud NUMA, cela équivaut à 1.In an environment with a single NUMA node this is equivalent to 1.

3 - objet configurable en partition de mémoire partitionné par processeur.3 - Partitionable memory object, partitioned by CPU.
contention_factorcontention_factor realreal Valeur spécifiant la contention sur cet objet mémoire, avec 0, ce qui signifie aucune contention.A value specifying contention on this memory object, with 0 meaning no contention. La valeur est mise à jour chaque fois qu’un nombre spécifié d’allocations de mémoire ont été apportée à une contention réfléchissante pendant cette période.The value is updated whenever a specified number of memory allocations were made reflecting contention during that period. S’applique uniquement aux objets de mémoire thread-safe.Applies only to thread-safe memory objects.
waiting_tasks_countwaiting_tasks_count bigintbigint Nombre d’attentes sur cet objet mémoire.Number of waits on this memory object. Ce compteur est incrémenté chaque fois que la mémoire est allouée à partir de cet objet mémoire.This counter is incremented whenever memory is allocated from this memory object. L’incrément est le nombre de tâches en attente pour l’accès à cet objet mémoire.The increment is the number of tasks currently waiting for access to this memory object. S’applique uniquement aux objets de mémoire thread-safe.Applies only to thread-safe memory objects. Il s’agit d’une meilleure valeur effort sans garantie est correcte.This is a best effort value without a correctness guarantee.
exclusive_access_countexclusive_access_count bigintbigint Spécifie la fréquence à laquelle cet objet mémoire a été accéder de façon exclusive.Specifies how often this memory object was accessed exclusively. S’applique uniquement aux objets de mémoire thread-safe.Applies only to thread-safe memory objects. Il s’agit d’une meilleure valeur effort sans garantie est correcte.This is a best effort value without a correctness guarantee.
pdw_node_idpdw_node_id intint S’applique aux: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data WarehouseApplies to: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse

L’identificateur du nœud qui se trouve sur cette distribution.The identifier for the node that this distribution is on.

partition_type, contention_factor, waiting_tasks_count, et exclusive_access_count ne sont pas encore implémentées dans Base de données SQLSQL Database.partition_type, contention_factor, waiting_tasks_count, and exclusive_access_count are not yet implemented in Base de données SQLSQL Database.

PermissionsPermissions

Sur SQL ServerSQL Server, nécessite VIEW SERVER STATE autorisation.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Sur Base de données SQLSQL Database niveaux Premium, nécessite le VIEW DATABASE STATE autorisation dans la base de données.On Base de données SQLSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. Sur Base de données SQLSQL Database Standard et les niveaux de base, nécessite le administrateur du serveur ou administrateur Active Directory de Azure compte.On Base de données SQLSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

NotesRemarks

Les objets mémoire sont des segments.Memory objects are heaps. Ils fournissent des allocations qui ont une granularité plus fine que celles fournies par les régisseurs de mémoire.They provide allocations that have a finer granularity than those provided by memory clerks. Les composants SQL ServerSQL Server utilisent des objets mémoire au lieu de régisseurs de mémoire. SQL ServerSQL Server components use memory objects instead of memory clerks. Les objets mémoire utilisent l'interface d'allocation de page du régisseur de mémoire pour allouer les pages.Memory objects use the page allocator interface of the memory clerk to allocate pages. Ils n'utilisent pas les interfaces de mémoire virtuelle ou partagée.Memory objects do not use virtual or shared memory interfaces. 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.Depending on the allocation patterns, components can create different types of memory objects to allocate regions of arbitrary size.

La taille de page type pour un objet mémoire est de 8 Ko.The typical page size for a memory object is 8 KB. Toutefois, les objets mémoire incrémentiels peuvent avoir des tailles de page allant de 512 octets à 8 Ko.However, incremental memory objects can have page sizes that range from 512 bytes to 8 KB.

Note

La taille de page n'est pas une allocation maximale.Page size is not a maximum allocation. 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.Instead, page size is allocation granularity that is supported by a page allocator and that is implemented by a memory clerk. Vous pouvez demander des allocations supérieures à 8 Ko d'objets mémoire.You can request allocations greater than 8 KB from memory objects.

ExemplesExamples

L'exemple suivant retourne la quantité de mémoire allouée par chaque type d'objet mémoire.The following example returns the amount of memory allocated by each memory object type.

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

Voir aussiSee Also

Système d’exploitation de serveur SQL relatives des vues de gestion dynamique ( Transact-SQL ) SQL Server Operating System Related Dynamic Management Views (Transact-SQL)
Sys.dm_os_memory_clerks ( Transact-SQL )sys.dm_os_memory_clerks (Transact-SQL)