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)