sys.dm_os_memory_brokers (Transact-SQL)

Alocações que são internas ao SQL Server usam o gerenciador de memória do SQL Server. O rastreamento da diferença entre contadores de memória do processo de sys.dm_os_process_memory e contadores internos pode indicar o uso de memória de componentes externos no espaço de memória do SQL Server.

Os agentes de memória distribuem alocações de memória razoavelmente entre vários componentes no SQL Server, com base no uso projetado e atual. Eles não executam alocações. Só controlam alocações para computar a distribuição.

A tabela a seguir fornece informações sobre agentes de memória.

Nome da coluna

Tipo de dados

Descrição

memory_broker_type

nvarchar(60)

Tipo de agente de memória. Há três tipos de agentes de memória atualmente no SQL Server.

ValorDescrição
MEMORYBROKER_FOR_CACHEMemória que é alocada para uso por objetos em cache.
MEMORYBROKER_FOR_STEALMemória usada pelo pool de buffers. Essa memória não estará disponível para reutilização por outros componentes até ser liberada pelo proprietário atual.
MEMORYBROKER_FOR_RESERVEMemória reservada para uso futuro por solicitações de execução atuais.

allocations_kb

bigint

Quantidade de memória, em quilobytes (KB), alocada a este tipo de agente.

allocations_per_sec

int

Taxa atual de alocação atribuída a este agente.

target_allocations_kb

bigint

Quantidade recomendada de memória alocada, em quilobytes (KB), com base nas configurações atuais e no padrão de uso da memória. Esse agente deve aumentar ou diminuir em relação a esse número.

future_allocations_kb

bigint

Número projetado de alocações, em quilobytes (KB), que serão feitas nos próximos segundos.

last_notification

nvarchar(60)

Recomendação de uso de memória com base nas configurações atuais e no padrão de uso. Estes são os valores válidos:

  • grow

  • shrink

  • stable

pool_id

int

ID do pool de recursos caso seja associado a um pool do Administrador de recursos.

allocations_kb_per_sec

bigint

Taxa de alocações de memória em quilobytes (KB) por segundo. Esse valor pode ser negativo para desalocações de memória.

predicated_allocations_kb

bigint

Quantidade prevista de memória alocada pelo agente. Tem como base o padrão de uso da memória.

overall_limit_kb

bigint

Quantidade máxima de memória, em quilobytes (KB), que o agente pode alocar.

Permissões

Requer a permissão VIEW SERVER STATE no servidor.