Partager via


sys.dm_os_memory_clerks (Transact-SQL)

Renvoie l'ensemble de tous les régisseurs de mémoire actuellement actifs dans l'instance de SQL Server. 

S'applique à : SQL Server (SQL Server 2008 via la version actuelle).

Nom de la colonne

Type de données

Description

memory_clerk_address

varbinary(8)

Spécifie l'adresse mémoire unique du régisseur de mémoire. Il s'agit de la colonne clé primaire. N'accepte pas la valeur NULL.

type

nvarchar(60)

Spécifie le type de régisseur de mémoire. Chaque régisseur de mémoire a un type spécifique, par exemple les régisseurs de mémoire CLR MEMORYCLERK_SQLCLR. N'accepte pas la valeur NULL.

name

nvarchar(256)

Spécifie le nom affecté en interne au régisseur de mémoire. Un composant peut avoir plusieurs régisseurs de mémoire d'un type particulier. Un composant peut choisir d'utiliser des noms spécifiques pour identifier les régisseurs de mémoire du même type. N'accepte pas la valeur NULL.

memory_node_id

smallint

Spécifie l'identificateur du nœud de mémoire. N'accepte pas la valeur NULL.

single_pages_kb

bigint

S'applique à : SQL Server 2008 et SQL Server 2008 R2.

pages_kb

bigint

Spécifie la quantité de mémoire de page allouée, en kilo-octets (Ko), pour ce régisseur de mémoire. N'accepte pas la valeur Null.

S'applique à : SQL Server 2012 et SQL Server 2014.

multi_pages_kb

bigint

Quantité de mémoire multipage allouée, en Ko. Il s'agit de la quantité de mémoire allouée à l'aide de l'allocateur de pages multiples des nœuds de mémoire. Cette mémoire est allouée en dehors du pool de mémoires tampons ; elle tire parti de l'allocateur virtuel des nœuds mémoire. N'accepte pas la valeur Null.

S'applique à : SQL Server 2008 et SQL Server 2008 R2.

virtual_memory_reserved_kb

bigint

Spécifie la quantité de mémoire virtuelle qui est réservée par un régisseur de mémoire. N'accepte pas la valeur NULL.

virtual_memory_committed_kb

bigint

Spécifie la quantité de mémoire virtuelle qui est validée par un régisseur de mémoire. La quantité de mémoire validée doit toujours être inférieure à la quantité de mémoire réservée. N'accepte pas la valeur NULL.

awe_allocated_kb

bigint

Spécifie la quantité de mémoire, en kilo-octets (Ko), verrouillée en mémoire physique et non paginée par le système d'exploitation. N'accepte pas la valeur NULL.

shared_memory_reserved_kb

bigint

Spécifie la quantité de mémoire partagée qui est réservée par un régisseur de mémoire. Il s'agit de la quantité de mémoire réservée à l'usage de la mémoire partagée et du mappage de fichiers. N'accepte pas la valeur NULL.

shared_memory_committed_kb

bigint

Spécifie la quantité de mémoire partagée qui est validée par le régisseur de mémoire. N'accepte pas la valeur NULL.

page_size_in_bytes

bigint

Spécifie la granularité de l'allocation de page pour ce régisseur de mémoire. N'accepte pas la valeur NULL.

page_allocator_address

varbinary(8)

Spécifie l'adresse de l'allocateur de page mémoire. Cette adresse est unique pour un régisseur de mémoire et peut être utilisée dans sys.dm_os_memory_objects pour identifier l'emplacement des objets de mémoire qui sont liés à ce régisseur de mémoire. N'accepte pas la valeur NULL.

host_address

varbinary(8)

Spécifie l'adresse mémoire de l'hôte associé à ce régisseur de mémoire. Pour plus d'informations, consultez sys.dm_os_hosts (Transact-SQL). Les composants tels que Microsoft SQL Server Native Client accèdent aux ressources mémoire de SQL Server par le biais de l'interface de l'hôte.

0x00000000 = Le régisseur de mémoire appartient à SQL Server.

N'accepte pas la valeur NULL.

Autorisations

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

Notes

Le gestionnaire de mémoire de SQL Server se compose d'une hiérarchie à trois niveaux. La base de la hiérarchie est constituée par les nœuds de mémoire. Le niveau intermédiaire est constitué de régisseurs de mémoire, de caches mémoire et de pools de mémoires. Le niveau supérieur comprend les objets de mémoire. Ces objets sont généralement utilisés pour allouer de la mémoire dans une instance de SQL Server.

Les nœuds de mémoire fournissent l'interface et assurent l'implémentation des allocateurs de niveau inférieur. Au sein de SQL Server, seuls les régisseurs de mémoire ont accès aux nœuds de mémoire. Les régisseurs de mémoire accèdent aux interfaces des nœuds de mémoire pour allouer de la mémoire. Les nœuds de mémoire assurent également le suivi de la mémoire allouée en utilisant le Clerk pour les diagnostics. Chaque composant allouant une quantité importante de mémoire doit créer son propre régisseur de mémoire et allouer toute sa mémoire à l'aide des interfaces du régisseur de mémoire. Souvent, les composants créent leurs régisseurs de mémoire lors du démarrage de SQL Server.

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

sys.dm_exec_query_memory_grants (Transact-SQL)

sys.dm_exec_requests (Transact-SQL)

sys.dm_exec_query_plan (Transact-SQL)

sys.dm_exec_sql_text (Transact-SQL)