Compartilhar via


sys.dm_os_memory_clerks (Transact-SQL)

Retorna o conjunto de todos os administradores de memória que estão atualmente ativos na instância do SQL Server.

Nome da coluna

Tipo de dados

Descrição

memory_clerk_address

varbinary(8)

Endereço de memória exclusivo do administrador de memória. Esta é a coluna de chave primária. Não permite valor nulo.

type

nvarchar(60)

Tipo de administrador de memória. Todo administrador tem um tipo específico, como os Administradores MEMORYCLERK_SQLCLR do CLR. Não permite valor nulo.

name

nvarchar(256)

Nome atribuído internamente deste administrador de memória. Todo componente pode ter vários administradores de memória de um tipo específico. Um componente poderia optar por usar nomes específicos para identificar administradores de memória do mesmo tipo. Não permite valor nulo.

memory_node_id

smallint

ID do nó de memória. Não permite valor nulo.

single_pages_kb

bigint

Quantidade de memória de uma página alocada em quilobytes (KB). Esta é a quantidade de memória alocada usando o alocador de uma página de um nó de memória. Este alocador de uma página furta páginas diretamente do pool de buffers. Não permite valor nulo.

multi_pages_kb

bigint

Quantidade de memória de várias páginas alocada em KB. Esta é a quantidade de memória alocada usando o alocador de várias páginas dos nós de memória. Esta memória é alocada fora do pool de buffers e se beneficia do alocador virtual dos nós de memória. Não permite valor nulo.

virtual_memory_reserved_kb

bigint

Quantidade de memória virtual que está reservada por um administrador de memória. Esta é a quantidade de memória reservada diretamente pelo componente que usa esse administrador. Na maioria das situações, apenas o pool de buffers reserva espaço de endereçamento virtual diretamente usando seu administrador de memória. Não permite valor nulo.

virtual_memory_committed_kb

bigint

Quantidade de memória virtual que está confirmada por um administrador de memória. Esta é a quantidade de memória confirmada pelo administrador. A quantidade de memória confirmada sempre deve ser menor que a quantidade de memória reservada. Não permite valor NULO.

awe_allocated_kb

bigint

Quantidade de memória que é alocada pelo administrador de memória usando Extensões AWE. No SQL Server, apenas os administradores de pool de buffers (MEMORYCLERK_SQLBUFFERPOOL) usam este mecanismo, e somente quando as extensões AWE estão habilitadas. Não permite valor nulo.

shared_memory_reserved_kb

bigint

Quantidade de memória compartilhada que está reservada por um administrador de memória. A quantidade de memória reservada para uso por mapeamento de arquivo e memória compartilhada. Não permite valor nulo.

shared_memory_committed_kb

bigint

Quantidade de memória compartilhada que está confirmada pelo administrador de memória. Não permite valor nulo.

page_size_bytes

bigint

Tamanho da página que pode ser alocada por um administrador de memória. É oferecido suporte a apenas um tamanho, 8192 bytes. Não permite valor nulo.

page_allocator_address

varbinary(8)

Endereço do alocador de página. Este endereço é exclusivo para um administrador de memória e pode ser usado em sys.dm_os_memory_objects para localizar objetos de memória que estejam associados a esse administrador. Não permite valor nulo.

host_address

varbinary(8)

Endereço de memória do host desse administrador de memória. Para obter mais informações, consulte sys.dm_os_hosts (Transact-SQL). Componentes, como o MicrosoftSQL Server Native Client, acessam recursos de memória do SQL Server pela interface do host.

0x00000000 = O administrador de memória pertence ao SQL Server.

Não permite valor nulo.

Permissões

Requer permissão VIEW SERVER STATE no servidor.

Comentários

O gerenciador de memória do SQL Server consiste em uma hierarquia de três camadas. Na parte inferior da hierarquia estão os nós de memória. O próximo nível consiste em administradores de memória, caches de memória e pools de memória. A última camada consiste em objetos de memória. Esses objetos geralmente são usados para alocar memória em uma instância do SQL Server.

Os nós de memória fornecem a interface e a implementação para alocadores de baixo nível. No SQL Server, apenas os administradores de memória têm acesso a nós de memória. Os administradores de memória acessam interfaces de nó de memória para alocar memória. Os nós de memória também controlam a memória alocada, usando o administrador para diagnósticos. Todo componente que aloca uma quantidade significativa de memória deve criar seu próprio administrador de memória e alocar toda a sua memória usando as interfaces do administrador. Os componentes criam seus administradores correspondentes no momento em que o SQL Server é iniciado.