sys.dm_os_memory_clerks (Transact-SQL)

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

Nom de colonne

Type de données

Description

memory_clerk_address

varbinary(8)

Adresse mémoire unique du Clerk de mémoire. Il s'agit de la clé primaire. Cette colonne n'accepte pas la valeur NULL.

type

nvarchar(60)

Type de Clerk de mémoire. Chaque Clerk a un type spécifique, par exemple les Clerks CLR MEMORYCLERK_SQLCLR. Cette colonne n'accepte pas la valeur NULL.

name

nvarchar(256)

Nom affecté en interne au Clerk de mémoire. Chaque composant peut avoir plusieurs Clerks de mémoire d'un type particulier. Un composant peut choisir d'utiliser des noms spécifiques pour identifier les Clerks de mémoire du même type. Cette colonne n'accepte pas la valeur NULL.

memory_node_id

smallint

Identificateur du nœud de mémoire. Cette colonne n'accepte pas la valeur NULL.

single_pages_kb

bigint

Quantité de mémoire d'une seule page allouée, en kilo-octets (Ko). Il s'agit de la quantité de mémoire allouée à l'aide de l'allocateur de page unique d'un nœud de mémoire. Cet allocateur prend directement les pages dans le pool de mémoires tampons. Cette colonne n'accepte pas la valeur NULL.

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 hors du pool de mémoires tampons et tire parti de l'allocateur virtuel des nœuds de mémoire. Cette colonne n'accepte pas la valeur NULL.

virtual_memory_reserved_kb

bigint

Quantité de mémoire virtuelle qui est réservée par un Clerk de mémoire. Il s'agit de la quantité de mémoire réservée directement par le composant qui utilise ce Clerk. Dans la plupart des cas, seul le pool de mémoires tampons réserve directement de l'espace d'adressage virtuel à l'aide de son Clerk de mémoire. Cette colonne n'accepte pas la valeur NULL.

virtual_memory_committed_kb

bigint

Quantité de mémoire virtuelle qui est alouée par un Clerk de mémoire. Il s'agit de la quantité de mémoire validée par le Clerk. La quantité de mémoire validée doit toujours être inférieure à la quantité de mémoire réservée. Cette colonne n'accepte pas la valeur NULL.

awe_allocated_kb

bigint

Quantité de mémoire qui est allouée par le Clerk à l'aide d'AWE (Address Windowing Extensions). Dans SQL Server, seuls les Clerks de pool de mémoires tampons (MEMORYCLERK_SQLBUFFERPOOL) utilisent ce mécanisme, et uniquement lorsque AWE est activé. Cette colonne n'accepte pas la valeur NULL.

shared_memory_reserved_kb

bigint

Quantité de mémoire partagée qui est réservée par un Clerk 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. Cette colonne n'accepte pas la valeur NULL.

shared_memory_committed_kb

bigint

Quantité de mémoire partagée qui est validée par le Clerk de mémoire. Cette colonne n'accepte pas la valeur NULL.

page_size_bytes

bigint

Taille de la page pouvant être allouée par un Clerk de mémoire. Une seule taille est prise en charge : 8 192 octets. Cette colonne n'accepte pas la valeur NULL.

page_allocator_address

varbinary(8)

Adresse de l'allocateur de page mémoire. Cette adresse est unique pour un Clerk 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 Clerk. Cette colonne n'accepte pas la valeur NULL.

host_address

varbinary(8)

Adresse mémoire de l'hôte associé au Clerk de mémoire. Pour plus d'informations, consultez sys.dm_os_hosts (Transact-SQL). Les composants tels que MicrosoftSQL Server Native Client accèdent aux ressources mémoire de SQL Server par le biais de l'interface de l'hôte.

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

Cette colonne n'accepte pas la valeur NULL.

Autorisations

L'autorisation VIEW SERVER STATE est nécessaire 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 suivant est constitué des Clerks de mémoire, des caches mémoire et des 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 Clerks de mémoire ont accès aux nœuds de mémoire. Les Clerks 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 Clerk de mémoire et allouer toute sa mémoire à l'aide des interfaces du Clerk. Les composants créent leurs Clerks lors du démarrage de SQL Server.