SQL Server, objeto Gestor de Memória

Aplica-se a: SQL Server

O objeto Gestor de Memória no Microsoft SQL Server fornece contadores para monitorizar o uso global de memória do servidor. Monitorizar a utilização global de memória do servidor para avaliar a atividade dos utilizadores e o uso de recursos pode ajudar a identificar gargalos de desempenho. Monitorizar a memória usada por uma instância do SQL Server pode ajudar a determinar:

  • Se existirem gargalos devido à memória física inadequada para armazenar dados frequentemente acedidos na cache. Se a memória for insuficiente, o SQL Server deve recuperar os dados do disco.

  • Se o desempenho das consultas pode ser melhorado adicionando mais memória ou tornando mais memória disponível para a cache de dados ou estruturas internas do SQL Server.

Contadores do Gestor de Memória

Esta tabela descreve os contadores do SQL Server Memory Manager.

Contadores do SQL Server Memory Manager Description
Memória de Ligação (KB) Especifica a quantidade total de memória dinâmica que o servidor está a usar para manter as ligações.
Memória de Cache de Base de Dados (KB) Especifica a quantidade de memória que o servidor está atualmente a usar para a cache das páginas da base de dados.
Benefício externo da memória Uma estimativa interna do benefício de desempenho ao adicionar memória a uma cache específica. É usado pelo motor para equilibrar o uso de memória entre caches e é útil para suportar a resolução de problemas com crescimento inesperado da cache. O valor é apresentado como um inteiro com base num cálculo interno.
Memória Livre (KB) Especifica a quantidade de memória comprometida que atualmente não é utilizada pelo servidor.
Memória de Espaço de Trabalho (KB) concedida Especifica a quantidade total de memória atualmente concedida a processos em execução, como operações de hash, ordenação, cópia em massa e criação de índice.
Bloqueios de Bloqueio Especifica o número atual de blocos de bloqueio em uso no servidor (atualizados periodicamente). Um bloco de bloqueio representa um recurso individual bloqueado, como uma tabela, página ou linha.
Blocos de Eclusas Atribuídos Especifica o número atual de blocos de bloqueio alocados. No arranque do servidor, o número de blocos de bloqueio alocados mais o número de blocos proprietários alocados depende da opção de configuração do SQL Server Locks. Se forem necessários mais blocos de bloqueio, o valor aumenta.
Memória de Bloqueio (KB) Especifica a quantidade total de memória dinâmica que o servidor está a usar para bloqueios.
Blocos do Proprietário da Eclusa Especifica o número de blocos do proprietário da fechadura atualmente em uso no servidor (atualizados periodicamente). Um bloco de proprietário de fechadura representa a posse de um bloqueio sobre um objeto por um thread individual. Portanto, se três threads tiverem cada um bloqueio partilhado (S) numa página, haverá três blocos de proprietário de bloqueio.
Blocos de Proprietário de Eclusas Atribuídos Especifica o número atual de blocos de proprietário de fechadura alocados. No arranque do servidor, o número de blocos proprietários de bloqueio alocados e o número de blocos de bloqueio alocados dependem da opção de configuração SQL Server Locks. Se forem necessários mais blocos de proprietário de fechadura, o valor aumenta dinamicamente.
Memória do Pool de Logs (KB) Quantidade total de memória dinâmica que o servidor está a usar para o Log Pool.
Memória Máxima do Espaço de Trabalho (KB) Indica a quantidade máxima de memória disponível para executar processos, como operações de hash, ordenação, cópia em massa e criação de índice.
Subsídios de Memória Excecionais Especifica o número total de processos que conseguiram obter com sucesso uma concessão de memória de espaço de trabalho.
Subsídios de Memória pendentes Especifica o número total de processos à espera de uma concessão de memória de workspace.
Memória Otimizadora (KB) Especifica a quantidade total de memória dinâmica que o servidor está a usar para otimização de consultas.
Memória Reservada do Servidor (KB) Indica a quantidade de memória que o servidor reserva para uso futuro. Este contador mostra a quantidade atual não utilizada de memória inicialmente concedida, que é mostrada na Memória de Espaço de Trabalho Concedida (KB).
Memória de Cache SQL (KB) Especifica a quantidade total de memória dinâmica que o servidor está a usar para a cache SQL dinâmica.
Memória do Servidor Roubada (KB) Especifica a quantidade de memória que o servidor está a usar para fins que não sejam páginas de base de dados.
Memória do Servidor de Alvo (KB) Indica a quantidade ideal de memória que o servidor pode consumir.
Memória Total do Servidor (KB) Especifica a quantidade de memória que o servidor comprometeu usando o gestor de memória.

Example

Começa a explorar os contadores de desempenho das consultas neste objeto usando esta consulta T-SQL na vista sys.dm_os_performance_counters gestão dinâmica:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Memory Manager%';