sys.dm_os_memory_objects (Transact-SQL)
Retorna os objetos de memória atualmente alocados pelo SQL Server. Você pode usar sys.dm_os_memory_objects para analisar o uso da memória e identificar possíveis vazamentos de memória.
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
memory_object_address |
varbinary(8) |
Endereço do objeto de memória. Não permite valor nulo. |
parent_address |
varbinary(8) |
Endereço do objeto de memória pai. Permite valor nulo. |
pages_in_bytes |
bigint |
Quantidade de memória em bytes alocada por essa instância do objeto de memória. Não permite valor nulo. |
creation_options |
int |
Somente para uso interno. Permite valor nulo. |
bytes_used |
bigint |
Somente para uso interno. Permite valor nulo. |
tipo |
nvarchar(60) |
Tipo de objeto de memória. Indica um componente ao qual esse objeto de memória pertence ou a função do objeto de memória. Permite valor nulo. |
name |
varchar(128) |
Somente para uso interno. Anulável. |
memory_node_id |
smallint |
ID de um nó de memória que está sendo usado por esse objeto de memória. Não permite valor nulo. |
creation_time |
datetime |
Somente para uso interno. Permite valor nulo. |
page_size_in_bytes |
int |
Tamanho das páginas em bytes alocadas por esse objeto. Não permite valor nulo. |
max_pages_in_bytes |
bigint |
Quantidade máxima de memória sempre usada por esse objeto de memória. Não permite valor nulo. |
page_allocator_address |
varbinary(8) |
Endereço de memória do alocador de página. Não permite valor nulo. Para obter mais informações, consulte sys.dm_os_memory_clerks (Transact-SQL). |
creation_stack_address |
varbinary(8) |
Somente para uso interno. Permite valor nulo. |
sequence_num |
int |
Somente para uso interno. Permite valor nulo. |
Permissões
Requer a permissão VIEW SERVER STATE no servidor.
Comentários
Os objetos de memória são heaps. Eles fornecem alocações que possuem uma granularidade maior do que a fornecida pelos administradores de memória. Os componentes do SQL Server usam objetos de memória, em vez de administradores de memória. Os objetos de memória usam a interface do alocador de página do administrador de memória para alocar páginas. Eles não usam interfaces de memória virtuais ou compartilhadas. Dependendo dos padrões de alocação, os componentes podem criar tipos diferentes de objetos de memória para alocar regiões de tamanho arbitrário.
O tamanho de página típico para um objeto de memória é 8 KB. Entretanto, objetos de memória incrementais podem ter tamanhos de página que variam de 512 bytes a 8 KB.
Observação |
---|
O tamanho de página não é uma alocação máxima. Na verdade, o tamanho de página é a granularidade de alocação com suporte oferecida por um alocador de página e é implementado por um administrador de memória. Você pode solicitar alocações com mais de 8 KB de objetos da memória. |
Suporte de compatibilidade
No SQL Server 2012, as seguintes colunas foram renomeadas.
Nome da coluna anterior |
Nome da nova coluna |
---|---|
pages_allocated_count |
pages_in_bytes |
max_pages_allocated_count |
max_pages_in_bytes |
Exemplos
O exemplo a seguir retorna a quantidade de memória alocada em cada tipo de objeto de memória.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
Consulte também
Referência
Exibições e funções de gerenciamento dinâmico (Transact-SQL)
Exibições de gerenciamento dinâmico relacionadas ao sistema operacional do SQL Server (Transact-SQL)