SQL Server, objeto Memory Manager

Aplica-se a:SQL Server

O objeto Gerenciador de Memória do Microsoft SQL Server fornece contadores para monitorar o uso de memória geral do servidor. Monitorar o uso de memória de servidor global para medir a atividade de usuário e uso de recursos pode ajudá-lo a identificar gargalos de desempenho. Monitorar a memória usada por uma instância do SQL Server pode ajudar a determinar:

  • Se existem gargalos a partir de memória física inadequada para o armazenamento de dados frequentemente acessados em cache. Se a memória for inadequada, o SQL Server deverá recuperar os dados do disco.

  • Se o desempenho das consultas pode ser melhorado pela adição de memória ou pela disponibilização de mais memória para o cache de dados ou para as estruturas internas do SQL Server.

Contadores do Gerenciador de Memória

Essa tabela descreve os contadores do Gerenciador de Memória do SQL Server.

Contadores do Gerenciador de Memória do SQL Server Descrição
Memória de Conexão (KB) Especifica a quantidade total de memória dinâmica que o servidor está usando para manter conexões.
Memória Cache de Banco de Dados (KB) Especifica a quantidade de memória que o servidor está usando atualmente para o cache de páginas de banco de dados.
Benefício de memória externo Uma estimativa interna do desempenho se beneficia da adição de memória a um cache específico. É usada pelo mecanismo para equilibrar o uso de memória entre o cache e é útil para dar suporte ao solucionar problemas de casos com crescimento inesperado do cache. O valor é apresentado como um inteiro baseado em um cálculo interno.
Memória Livre (KB) Especifica a quantidade de memória comprometida que não está atualmente em uso pelo servidor.
Memória de Workspace Concedida (KB) Especifica a quantidade total de memória concedida atualmente para a execução de processos, como hash, classificação, cópia em massa e operações de criação de índice.
Blocos de Bloqueio Especifica o número atual de blocos de bloqueio em uso no servidor (atualizado periodicamente). Um bloco de bloqueio representa um recurso individual bloqueado, como uma tabela, página ou linha.
Blocos de Bloqueio Alocados Especifica o número atual de blocos de bloqueio alocados. Na inicialização do servidor, o número de blocos de bloqueio alocados mais o número de blocos de proprietário de bloqueio alocados dependem da opção de configuração de Bloqueios do SQL Server. Se forem necessários mais blocos de bloqueio, o valor aumentará.
Memória de Bloqueio (KB) Especifica a quantidade total de memória dinâmica que o servidor está usando para os bloqueios.
Blocos de Proprietário de Bloqueio Especifica o número de blocos de proprietário de bloqueio atualmente em uso no servidor (atualizado periodicamente). Um bloco de proprietário de bloqueio representa a propriedade de um bloqueio em um objeto por um thread individual. Portanto, se três threads tiverem, cada um, um bloqueio compartilhado (S) em uma página, haverá três blocos de proprietário de bloqueio.
Blocos de Proprietário de Bloqueio Alocados Especifica o número atual de blocos de proprietário de bloqueio alocados. Na inicialização do servidor, o número de blocos de proprietário de bloqueio alocados e o número de blocos de bloqueio alocados dependem da opção de configuração de Bloqueios do SQL Server. Se forem necessários mais blocos de proprietário de bloqueio, o valor aumentará dinamicamente.
Memória de Pool de Logs (KB) Quantidade total de memória dinâmica que o servidor está usando para o Pool de Logs.
Memória de Workspace Máxima (KB) Indica a quantidade máxima de memória disponível para a execução de processos, como hash, classificação, cópia em massa e operações de criação de índice.
Concessões de Memória Emitidas Especifica o número total de processos que adquiriram com êxito uma concessão de memória de workspace.
Concessões de Memória Pendentes Especifica o número total de processos que estão aguardando por uma concessão de memória de workspace.
Memória de Otimizador (KB) Especifica a quantidade total de memória dinâmica que o servidor está usando para a otimização de consultas.
Memória de Servidor Reservado (KB) Indica a quantidade de memória que o servidor reservou para uso futuro. Esse contador exibe a quantidade atual de memória não usada inicialmente concedida que é mostrada em Memória de Workspace Concedida (KB).
Memória Cache de SQL (KB) Especifica a quantidade total de memória dinâmica que o servidor está usando para o cache de SQL dinâmico.
Memória de Servidor Roubada (KB) Especifica a quantidade de memória que o servidor está usando para outras finalidades que não sejam páginas de banco de dados.
Memória do Servidor de Destino (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 gerenciador de memória.

Exemplo

Você começa a explorar os contadores de desempenho de consulta neste objeto usando essa consulta T-SQL na exibição de gerenciamento dinâmico sys.dm_os_performance_counters:

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