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 Microsoft SQL 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.
Consulte também