Partilhar via


sys.dm_os_memory_objects (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Devolve objetos de memória atualmente alocados pelo SQL Server. Pode usar sys.dm_os_memory_objects para analisar o uso de memória e identificar possíveis fugas de memória.

Observação

Para chamar isto do Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_os_memory_objects. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Description
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 Aplica-se a: SQL Server 2008 (10.0.x) através do SQL Server 2008 R2 (10.50.x).

Número de páginas alocadas por este objeto. Não é anulável.
pages_in_bytes bigint Aplica-se a: SQL Server 2012 (11.x) e posterior.

Quantidade de memória em bytes que é alocada por esta instância do objeto de memória. Não é anulável.
creation_options int Apenas para uso interno. É anulável.
bytes_used bigint Apenas para uso interno. É anulável.
type nvarchar(60) Tipo de objeto de memória.

Isto indica algum componente a que este objeto de memória pertence, ou a função do objeto de memória. É anulável.
name Varchar(128) Apenas para uso interno. Nullable.
memory_node_id smallint ID de um nó de memória que está a ser usado por este objeto de memória. Não é anulável.
creation_time datetime Apenas para uso interno. É anulável.
max_pages_allocated_count int Aplica-se a: SQL Server 2008 (10.0.x) através do SQL Server 2008 R2 (10.50.x).

Número máximo de páginas alocadas por este objeto de memória. Não é anulável.
page_size_in_bytes int Aplica-se a: SQL Server 2012 (11.x) e posterior.

Tamanho das páginas em bytes alocados por este objeto. Não é anulável.
max_pages_in_bytes bigint Quantidade máxima de memória alguma vez usada por este 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 mais informações, consulte sys.dm_os_memory_clerks (Transact-SQL).
creation_stack_address varbinary(8) Apenas para uso interno. É anulável.
sequence_num int Apenas para uso interno. É anulável.
partition_type int Aplica-se a: SQL Server 2016 (13.x) e posterior.

O tipo de partição:

0 - Objeto de memória não particionável

1 - Objeto de memória particionável, atualmente não particionado

2 - Objeto de memória particionável, particionado pelo nó NUMA. Num ambiente com um único nó NUMA, isto equivale a 1.

3 - Objeto de memória particionável, particionado pela CPU.
contention_factor real Aplica-se a: SQL Server 2016 (13.x) e posterior.

Um valor que especifica contenção neste objeto de memória, sendo 0 o que significa sem contenção. O valor é atualizado sempre que um número especificado de alocações de memória foi feito refletindo a contenção durante esse período. Aplica-se apenas a objetos de memória thread-safe.
waiting_tasks_count bigint Aplica-se a: SQL Server 2016 (13.x) e posterior.

Número de esperas neste objeto de memória. Este contador é incrementado sempre que a memória é alocada a partir deste objeto de memória. O incremento é o número de tarefas atualmente à espera de acesso a este objeto de memória. Aplica-se apenas a objetos de memória thread-safe. Este é o melhor valor do esforço sem garantia de correção.
exclusive_access_count bigint Aplica-se a: SQL Server 2016 (13.x) e posterior.

Especifica com que frequência este objeto de memória foi acedido exclusivamente. Aplica-se apenas a objetos de memória thread-safe. Este é o melhor valor do esforço sem garantia de correção.
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que esta distribuição se encontra.

partition_type, contention_factor, waiting_tasks_count e exclusive_access_count ainda não estão implementados na base de dados SQL.

Permissions

No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.

No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.

Permissões para SQL Server 2022 e posterior

Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Observações

Os objetos de memória são montes. Fornecem alocações com uma granularidade mais fina do que as fornecidas pelos assistentes de memória. Os componentes do SQL Server usam objetos de memória em vez de memory clerks. Os objetos de memória utilizam a interface de alocação de páginas do memory clerk para alocar páginas. Os objetos de memória não utilizam interfaces de memória virtual ou partilhada. Dependendo dos padrões de alocação, os componentes podem criar diferentes tipos de objetos de memória para alocar regiões de tamanho arbitrário.

O tamanho típico de página para um objeto de memória é de 8 KB. No entanto, objetos de memória incremental podem ter tamanhos de página que variam entre 512 bytes e 8 KB.

Observação

O tamanho da página não é uma alocação máxima. Em vez disso, o tamanho da página é a granularidade de alocação suportada por um alocador de páginas e implementada por um memory clerk. Pode pedir alocações superiores a 8 KB a objetos de memória.

Examples

O exemplo seguinte devolve a quantidade de memória alocada por 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

Exibições de gerenciamento dinâmico relacionadas ao sistema operacional SQL Server (Transact-SQL)
sys.dm_os_memory_clerks (Transact-SQL)