sys.dm_os_memory_objects (Transact-SQL)
Retorna os objetos de memória atualmente alocados pelo SQL Server. sys.dm_os_memory_objects é usado basicamente para 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 é anulável. |
parent_address |
varbinary(8) |
Endereço do objeto de memória pai. É anulável. |
pages_allocated_count |
int |
Número de páginas que são alocadas por esse objeto. Não é anulável. |
creation_options |
int |
Somente para uso interno. É anulável. |
bytes_used |
bigint |
Somente para uso interno. É anulável. |
type |
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. É anulável. |
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 é anulável. |
creation_time |
datetime |
Somente interno. NULLABLE. |
page_size_in_bytes |
int |
Tamanho das páginas alocadas por esse objeto. Não é anulável. |
max_pages_allocated_count |
int |
Número máximo de páginas alocadas por esse objeto de memória. Não é anulável. |
page_allocator_address |
varbinary(8) |
Endereço de memória do alocador de página. Não é anulável. Para obter mais informações, consulte sys.dm_os_memory_clerks (Transact-SQL). |
creation_stack_address |
varbinary(8) |
Somente para uso interno. É anulável. |
sequence_num |
int |
Somente para uso interno. É anulável. |
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 kilobytes.
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. É possível solicitar alocações de 16 KB ou mais dos objetos de memória; a solicitação será direcionada ao alocador de várias páginas do nó de memória. |
Exemplos
O exemplo a seguir retorna a quantidade de memória alocada em cada tipo de objeto de memória.
SELECT SUM (pages_allocated_count * page_size_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 1 DESC;
GO