Compartilhar via


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çãoObservaçã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)

sys.dm_os_memory_clerks (Transact-SQL)