Partager via


sys.dm_os_memory_objects (Transact-SQL)

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 identifier d'éventuelles fuites de mémoire.

Nom de la colonne

Type de données

Description

memory_object_address

varbinary(8)

Adresse de l'objet mémoire. N'accepte pas la valeur NULL.

parent_address

varbinary(8)

Adresse de l'objet mémoire parent. Autorise la valeur Null.

pages_in_bytes

bigint

Quantité de mémoire, en octets, allouée par cette instance de l'objet mémoire. N'accepte pas la valeur NULL.

creation_options

int

À usage interne uniquement. Autorise la valeur NULL.

bytes_used

bigint

À usage interne uniquement. Autorise la valeur Null.

type

nvarchar(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.

name

varchar(128)

À usage interne uniquement. Autorise la valeur Null.

memory_node_id

smallint

ID d'un nœud de mémoire utilisé par cet objet mémoire. N'accepte pas la valeur NULL.

creation_time

datetime

À usage interne uniquement. Autorise la valeur Null.

page_size_in_bytes

int

Taille des pages, en octets, allouée par cet objet. N'accepte pas la valeur NULL.

max_pages_in_bytes

bigint

Quantité de mémoire maximale utilisée par cet objet mémoire. N'accepte pas la valeur NULL.

page_allocator_address

varbinary(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 (Transact-SQL).

creation_stack_address

varbinary(8)

À usage interne uniquement. Autorise la valeur Null.

sequence_num

int

À usage interne uniquement. Autorise la valeur Null.

Autorisations

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

Notes

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.

[!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.

Prise en charge de la compatibilité

Dans SQL Server 2012, les colonnes suivantes ont été renommées.

Nom de colonne précédent

Nouveau nom de colonne

pages_allocated_count

pages_in_bytes

max_pages_allocated_count

max_pages_in_bytes

Exemples

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

Voir aussi

Référence

Fonctions et vues de gestion dynamique (Transact-SQL)

Vues de gestion dynamique SQL Server liées au système d'exploitation (Transact-SQL)

sys.dm_os_memory_clerks (Transact-SQL)