DBCC MEMORYSTATUS (Parte II)

DBCC MEMORYSTATUS (Parte II)

Rate This
  • Comments 4

Continuando o artigo sobre o DBCC MEMORYSTATUS, comentaremos sobre o trecho que fala sobre os contadores globais de memória da máquina e do processo do SQL Server.

Process/System Counts:

Process/System Counts                    Value                
---------------------------------------- -------------------- 
Available Physical Memory                          3808894976 
Available Virtual Memory                        8726174752768 
Available Paging File                             72376823808 
Working Set                                         569122816 
Percent of Committed Memory in WS                         100 
Page Faults                                           2837379 
System physical memory high                                 1 
System physical memory low                                  0 
Process physical memory low                                 0 
Process virtual memory low                                  0 

Identificamos a quantidade de memória disponível através dos contadores “AVAILABLE …”:

  • Available Physical Memory – Quantidade de memória RAM livre na máquina. Esse contador é extremamente importante e deve se manter constante.
  • Available Virtual Memory – Memória que pode ser reservada dentro do processo do SQL Server. Na plataforma 32-bits, a reserva de memória virtual era limitada a 2GB ou 3GB. Na plataforma 64-bits, esse valor sobe para 7 ou 8TB. Usualmente encontram-se valores entre 100-300kb nas máquinas 32-bits, e ignora-se esse valor nas máquinas 64-bits.
  • Available Paging File – Espaço disponível para alocação de “Committed Memory”, que inclui o arquivo de Page file disponível somada a memória RAM. Normalmente esse valor não é uma limitação para o SQL Server, mas pode impactar os processos do Sistema Operacional. Esse valor jamais deve chegar em zero, caso contrário, qualquer componente do Windows (inclusive o Cluster e a Kernel) pode falhar por falta de memória.

Um fator muito importante para se avaliar é a quantidade de memória alocada x memória RAM, que devem ser valores muito próximos. Esse fator está indicado por “Percent of Committed Memory in Working Set (WS)” e sempre que possível deve ser 100%. Se forem encontrados valores em torno de 50, isso indica que 50% da memória alocada para o SQL Server está em RAM e o demais em Page File, que é uma situação ruim.

SQL Server monitora continuamente o ambiente interno e externo através dos “sinais” chamados:

  • System physical memory high – Sistema Operacional apresenta muita memória disponível que pode ser utilizada pelo SQL Server
  • System physical memory low – Sistema necessita memória RAM e solicita que o SQL Server diminua o consumo do recurso
  • Process physical memory low – Os componentes internos do SQL Server necessitam rebalanceamento de memória
  • Process virtual memory low – O processo do SQL Server apresenta pouca memória virtual e futuras reservas podem falhar

A partir do SQL Server 2008, essas informações estão disponíveis em DMV.

[Nov/9] Agradeço aos comentários do Rodrigo por corrigir um erro do artigo: resultado de “Available Paging File” corresponde ao Committed Memory, e não exatamente ao arquivo do Page File. O conceito de Committed memory engloba tanto a memória RAM como o Page File, sendo igual a soma de ambos.

  • Fabrício,

      Parabens pela postagem, este é um assunto muito importante e você simplificou muito bem.

    Ao olhar meu ambiente (32-bits) fiquei com duas dúvidas:

    Usando a DMV sys.dm_os_process_memory:

    A memória virtual disponível está em apenas 264180KB é normal?

    Usando a DMV dm_os_sys_memory:

    O resultado me mostra um total para o Page File de 6064088KB e disponível de 3203044KB, ao olhar o tamanho do arquivo de paginação no C: está com 2095104KB, queria entender a relação entre este arquivo e os valores da DMV e também o valor apresentado no perfmon para o contador %usage do Paging File que está em 6,076.

    Abraços,

    Rodrigo Figueiredo

  • What is the meaning of counter System physical memory high is to 1 .

    It requires more memory??

  • If the System physical memory high = 1, then it means that the server has plenty of memory. There is no problem at all.

  • Muito bom exemplo

Page 1 of 1 (4 items)
Leave a Comment
  • Please add 1 and 3 and type the answer here:
  • Post