INF: Utilizar DBCC MEMORYSTATUS para monitorizar a utilização de memória do SQL Server

Traduções de Artigos Traduções de Artigos
Artigo: 271624 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

O comando DBCC MEMORYSTATUS fornece um instantâneo do estado de memória actual do SQL Server. O resultado deste comando é útil na resolução de problemas relacionados com o consumo de memória do SQL Server ou erros de falta de memória específicos (muitas das quais imprimir automaticamente esta saída no registo de erros). Suporte técnico da Microsoft também poderá solicitar que execute este comando no decorrer de um incidente de suporte específico se estiver a encontrar um erro que pode ser associado a uma condição de pouca memória.

Este comando foi concebido para ser uma ferramenta de diagnóstico de suporte técnico da Microsoft. O formato dos resultados e o nível de detalhe que é fornecida estão sujeitas a alteração entre edições dos service pack e produto. A funcionalidade fornecida pelo comando DBCC MEMORYSTATUS provavelmente será substituída por um mecanismo diferente em futuras de versões de produto e este comando poderão deixar de funcionar. Não existem avisos adicionais serão efectuados antes de alterar ou remover este comando. Por conseguinte, as aplicações que dependem do respectivo comportamento poderão quebrar sem aviso prévio.

A saída de DBCC MEMORYSTATUS contém sete secções. Este artigo descreve alguns dos dados de chaves que podem ser gleaned do resultado nas primeiras quatro secções. As restantes secções envolvem detalhes de implementação do proprietário e não são explicados neste artigo. Suporte técnico da Microsoft não responda a quaisquer questões ou fornecem informações adicionais sobre o significado dos contadores específicos para além dos que é fornecido neste artigo.

Mais Informação

Primeira secção

A primeira secção descreve a distribuição de memórias intermédias de 8 KB no conjunto de memória intermédia. Existe uma estrutura de memória intermédia para cada página 8 KB potenciais no conjunto de memória intermédia. Isto inclui páginas físicas se extensões do endereço baseadas em janelas (AWE) está activada. Esta estrutura contém um número de bits que indicam o estado da página subjacente (ou seja, se a página tiver sido modificada, é fixada, se na E/S etc.). Esta secção fornece detalhes sobre o número de memórias intermédias tem bits de estado específico.
Buffer Distribution              Buffers     
------------------------------   ----------- 
Stolen                           241
Free                             95
Procedures                       89
Inram                            0
Dirty                            16
Kept                             0
I/O                              0
Latched                          18
Other                            880

(9 row(s) affected)
				
Stolen. memória Stolen descreve memórias intermédias estiverem a ser utilizados para ordenar ou hash operações (memória de área de trabalho de consulta) ou para as memórias intermédias que estão a ser utilizadas como um arquivo de memória genérico para atribuições para armazenar estruturas de dados internos, tais como bloqueios, contexto de transação e informações de ligação. O processo de lazywriter não é permitido para limpar as memórias intermédias Stolen fora do conjunto de memória intermédia.

livre . Free refere-se para memórias intermédias dedicadas que não estejam actualmente em utilização. Estes estão disponíveis de retenção de dados ou pode ser requeridos por outros componentes e marcados como Stolen .

procedimentos . procedimentos refere-se a memória intermédia que está a segurar procedimento armazenado em cache de memória. Estas memórias intermédias contêm compilados e executáveis planos para procedimentos e planos de ad hoc em cache.

Inram . Inram refere-se às páginas para tabelas associadas que não podem ser removidas da memória (afixada utilizando o comando DBCC PINTABLE ou o procedimento armazenado sp_tableoption ).

sujo . modificado refere-se a páginas de dados que contêm as alterações que ainda não tem sido limpa no disco.

mantido . kept refere-se para páginas que estão temporariamente fixadas na memória para impedir que seja esvaziada. Este valor não é utilizado no SQL Server 2000.

I/O. E/s refere-se para memórias intermédias que estão à espera de uma operação de E/s pendente. No SQL Server 2000, isto inclui mapeamento ou unmapping uma memória intermédia através de AWE.

latched . As memórias intermédias DB50 registar o número de memórias intermédias onde uma ligação é de leitura ou está a modificar uma linha a partir da página. Um enganchado é utilizado para assegurar a consistência física dos dados na página enquanto-está a ler ou modificado, enquanto um bloqueio é utilizado para assegurar a consistência transaccional e lógica.

outros . Estas são consolidadas páginas que não cumpram dos critérios mencionados anteriormente. Normalmente, a maioria das memórias intermédias que cumprem este critérios são dados hash e páginas de índice na cache de memória intermédia.

Segunda secção

A segunda secção lista alguns totais reflectem o tamanho global e Maquilhagem do conjunto de memória intermédia.
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
consolidadas. O número total de memórias intermédias que são efectuadas no Windows NT. O valor de dedicado é a actual "Tamanho" do conjunto de memória intermédia. Este valor inclui a memória física atribuída se AWE estiver activada.

destino . O destino consolidada contagem ou como grande conjunto de memória intermédia pretende ser. Se a contagem de destino for superior ao valor dedicado , o conjunto de memória intermédia é aumentar. Se a contagem de destino for menor que o valor de dedicado , o conjunto de memória intermédia é diminuir. O processo de lazywriter utiliza este valor para determinar se deve aumentar ou diminuir o conjunto de memória intermédia.

submetido a hash . O número de páginas de dados e índice armazenadas no conjunto de memória intermédia.

InternalReservation . O número de páginas que mantém o conjunto de memória intermédia para si próprio. O valor de InternalReservation é o número mínimo de páginas que são necessários para satisfazer as exigências de dados simples para o número actual de utilizadores.

ExternalReservation . O número de páginas que foram reservados para consultas que irá executar uma sequência de ordenação ou uma operação de hash mas que têm não ainda sido roubado. Isto é utilizado como uma sugestão para o lazywriter que haverá um requisito futuro para uma grande quantidade de memória.

mínimo livre . O número de páginas que o conjunto de memória intermédia tenta manter na lista livre. Se a lista livre desce abaixo do valor Mínimo livre , o conjunto de memória intermédia tenta preencher a lista livre rejeitando antigas páginas da cache de dados ou procedimentos antigos a partir da cache do procedimento.

Terceira secção

A terceira secção descreve Maquilhagem da cache do procedimento.
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs . O número total de objectos em cache actualmente na cache do procedimento. Este valor coincidirá com o número de entradas na tabela virtual syscacheobjects . Pode utilizar o Monitor de desempenho para monitorizar o objecto SQL Server: Cache Manager para uma análise detalhada do tipo de objectos em cache--para exemplo, activadores, procedimentos e ad hoc.

TotalPages . O número cumulativo de páginas que deva ter para armazenar todos os objectos em cache.

InUsePages . O número de páginas na cache do procedimento que pertencem a procedimentos que estão actualmente em execução. Estes não podem ser eliminados.

Secção quarta

A quarta secção descreve a distribuição relativa de memórias intermédias roubadas entre grupos de componentes principais no servidor. SQL Server implementa as suas próprias gestores de memória que utilizam páginas de conjunto de memória intermédia para atribuições pequenas e que as reverter rotinas do sistema operativo apenas para atribuições maiores do que aproximadamente 8 KB. Estas atribuições maiores são fora o conjunto de memória intermédia e são frequentemente referidas como atribuições a partir da área MemToLeave . O tamanho desta área pode ser controlado utilizando o -g opção da linha de comandos.

Normalmente, a maioria das atribuições de memória de MemToLeave provêm os consumidores de memória não SQL Server que estão em execução em processo como objectos COM, procedimentos armazenados estendidos e servidores ligados. Os valores relacionados com o sistema operativo que são relatados na DBCC MEMORYSTATUS reflectem apenas MemToLeave atribuições efectuadas pelo SQL Server directamente. Outras atribuições que ocorrem no MemToLeave de estes outros componentes não são incluídas porque o SQL Server não tem conhecimento destes pedidos de memória.
Dynamic Memory Manager         Buffers     
------------------------------ ----------- 
Stolen                         330
OS Reserved                    152
OS Committed                   138
OS In Use                      129
General                        322
QueryPlan                      87
Optimizer                      0
Utilities                      10
Connection                     40

(9 row(s) affected)
				
roubado . Número total de memórias intermédias roubo do conjunto de memória intermédia por gestores de cinco memória (geral, plano de consulta, Optimizer, utilitários, ligação). Estas páginas são utilizadas para serviço atribuições de memória que são mais pequenos do que 8 KB.

OS reservado . O número de páginas que estejam reservadas do sistema operativo para processar pedidos de atribuição maiores do que aproximadamente 8 KB.

OS dedicados . A quantidade de memória em regiões reservadas que foi consolidada. O valor de Confirmar OS deve ser menor ou igual ao valor Reservado OS porque memórias intermédias são reservadas pela primeira vez e dedicadas, em seguida. Algumas da memória podem ser anuladas quando já não é utilizada.

Nota Existe um erro no SQL Server 2000 (que foi corrigido no SQL Server 2000 Service Pack 3) que faz com que este valor não ser mantida com exactidão e assim pode estar fora do intervalo válido.

sistema operativo em utilização . Intermédias Enviado OS estiverem a efectuar actualmente segurança atribuições de memória pendentes.

Geral . Memória que é utilizada pelos consumidores de memória geral no servidor, incluindo analisar ou normalização bloqueios, contexto de transação, estruturas de dados interna que descreve os metadados na memória para tabelas e índices e outros. Este valor é o número total de memórias intermédias de 8 KB. Algumas destas poderão ser roubadas memórias intermédias do conjunto de memória intermédia e outros poderão estar MemToLeave .

QueryPlan . Memória utilizada para armazenar planos de consulta, transiently ou na cache. Este valor é o número total de memórias intermédias de 8 KB. Algumas destas poderão ser roubadas memórias intermédias do conjunto de memória intermédia e outros poderão estar MemToLeave .

Optimizador . Memória que está a ser utilizado pelo optimizador de consultas. Este valor é o número total de memórias intermédias de 8 KB. Algumas destas poderão ser roubadas memórias intermédias do conjunto de memória intermédia e outros poderão estar MemToLeave .

utilitários . Memória utilizada por várias rotinas de utilitários, tais como BCP, Gestor de registos, paralelas consultas, :: fn_trace_gettable e outros. Este valor é o número total de memórias intermédias de 8 KB. Algumas destas poderão ser roubadas memórias intermédias do conjunto de memória intermédia e outros poderão estar MemToLeave .

ligação . Memória que é utilizada para armazenar as estruturas de dados mantendo o contexto de ligação para cada ligação de utilizador. Isto também inclui a memória para o envio de rede e memórias intermédias estão associadas uma ligação de recepção. Este valor é o número total de memórias intermédias de 8 KB. Alguns destes podem estar roubadas intermédias do conjunto de memória intermédia e de outros poderão estar MemToLeave .

Referências

Livros online do SQL Server
Delaney, Kalen. Interior Microsoft SQL Server 2000, Microsoft Press, 2000.

Propriedades

Artigo: 271624 - Última revisão: 12 de novembro de 2003 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbmt kbinfo KB271624 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 271624

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com