ID do artigo: 271624 - Última revisão: quarta-feira, 12 de novembro de 2003 - Revisão: 4.3 INF: Usando DBCC MEMORYSTATUS para monitorar o uso de memória do SQL Server
Nesta páginaSumárioO comando DBCC MEMORYSTATUS apresenta um instantâneo do status de memória atual do SQL Server. A saída desse comando é útil para solucionar problemas relacionados para o consumo de memória do SQL Server ou para erros de falta de memória específicos (muitos dos quais imprimir essa saída no log de erros automaticamente). Suporte técnico da Microsoft também podem solicitar que você execute este comando durante o curso de um incidente de suporte específico se se deparar com um erro que pode ser associado a uma condição de pouca memória. Este comando se destina a ser uma ferramenta de diagnóstico para suporte técnico. O formato da saída e o nível de detalhe é fornecido estão sujeitas a alteração entre versões de pacote e produto de serviço. A funcionalidade fornecida pelo comando DBCC MEMORYSTATUS provavelmente será substituída por um mecanismo diferente em futuras versões do produto e este comando podem não funcionar mais. Nenhum aviso adicional será feito antes de alterar ou remover esse comando. Portanto, podem danificar aplicativos que dependem de seu comportamento sem aviso. A saída do DBCC MEMORYSTATUS contém sete seções. Este artigo descreve alguns dos principais dados que podem ser obtidas da saída no primeiro quatro seções. As seções restantes envolvem detalhes de implementação proprietários e eles não são explicados neste artigo. Atendimento Microsoft não responder a perguntas ou fornecer informações adicionais sobre o significado de contadores específicos além fornecido neste artigo. Mais InformaçõesPrimeira seçãoA primeira seção descreve a distribuição de buffers de 8 KB no pool de buffer. Há uma estrutura de buffer para cada página de 8 KB potencial no pool de buffer. Isso inclui páginas físicas se extensões de janela de endereço (AWE) está ativado. Essa estrutura contém um número de bits que indicam o status da página subjacente (ou seja, se a página foi modificada, é fixado, está na E/S e mais). Esta seção detalha o número de buffers que possui bits de status específicos.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) livre . livre refere-se a confirmada buffers que não estão em uso no momento. Eles estão disponíveis para armazenar dados, ou pode ser solicitados por outros componentes e marcados como Stolen . procedimentos . procedimentos refere-se para buffers que estiverem mantendo o procedimento armazenado em cache de memória. Esses buffers contenham compilados e executáveis planos para procedimentos e planos de ad hoc em cache. Inram . Inram se referem a páginas para fixados tabelas que não podem ser removidas da memória (fixada utilizando o comando DBCC PINTABLE ou o procedimento sp_tableoption armazenados). sujo . Dirty refere-se a páginas de dados que contêm alterações que ainda não tiverem sido liberadas para o disco. mantidos . kept se referem a páginas temporariamente são fixadas na memória para impedir que sejam liberados. Esse valor não é usado no SQL Server 2000. I/O. E/s refere-se para buffers que estão aguardando em uma operação de E/s pendente. No SQL Server 2000, isso inclui mapeamento ou unmapping um buffer por meio de AWE. travadas . Os buffers latched registre o número de buffers onde uma conexão é de leitura ou está modificando uma linha da página. Um registrador de divisão é usado para garantir a consistência física dos dados na página durante a leitura ou modificado, enquanto um bloqueio é usado para garantir a consistência transacional e lógica. outros . Esses são confirmadas páginas que não atendem a qualquer um dos critérios mencionados anteriormente. Normalmente, a maioria dos buffers que atendem esse critério são dados hash e páginas de índice no cache de buffer. Segunda seçãoA segunda seção lista alguns totais que refletem o tamanho geral e a composição do pool de buffer.Buffer Counts Buffers ------------------------------ ----------- Committed 1339 Target 6318 Hashed 914 InternalReservation 120 ExternalReservation 0 Min Free 16 (6 row(s) affected) destino . O destino confirmada contagem ou como grande pool de buffer gostaria de. Se a contagem de destino for maior que o valor confirmado , o pool de buffer está crescendo. Se a contagem de destino for menor que o valor confirmado , está reduzindo o pool de buffer. O processo de lazywriter usa esse valor para determinar se a aumentar ou reduzir o pool de buffer. hash . O número de páginas de índice e dados que são armazenadas no pool de buffer. InternalReservation . O número de páginas que mantém o pool de buffer para si mesma. O valor InternalReservation é o número mínimo de páginas que são necessárias para satisfazer as demandas de dados simples para o número atual de usuários. ExternalReservation . O número de páginas que foram reservados para consultas que executará uma operação de hash ou uma classificação mas que têm não ainda sido roubado. Isso é usado como uma dica para o lazywriter que haverá um requisito de futuro para uma grande quantidade de memória. min livre . O número de páginas que o pool de buffer tenta manter na lista livre. Se a lista livre ficar abaixo do valor Mínimo livre , pool de buffer tenta para preencher a lista livre ao descartar páginas antigas do cache de dados ou procedimentos antigos do cache de procedimento. Terceira seçãoA terceira seção descreve a composição do cache de procedimento.Procedure Cache Value ------------------------------ ----------- TotalProcs 17 TotalPages 89 InUsePages 40 (3 row(s) affected) TotalPages . O número cumulativo de páginas que você deve ter para armazenar todos os objetos em cache. InUsePages . O número de páginas no cache de procedimento que pertencem aos procedimentos que estão em execução no momento. Esses não podem ser descartados. Quarta seçãoA quarta seção descreve a distribuição relativa de buffers roubados entre grupos de componentes principais no servidor. SQL Server implementa seus próprio gerenciadores de memória que usam páginas de pool de buffer para pequenas alocações e que retorno para rotinas de sistema operacional somente para alocações que são maiores do que aproximadamente 8 KB. Essas alocações maiores são fora do pool de buffer, e eles são normalmente chamados de alocações da área de MemToLeave . O tamanho dessa área pode ser controlado pelo usando o -g opção de linha de comando.Normalmente, a maioria das alocações de memória de MemToLeave são dos consumidores de memória não-SQL Server que estão em execução em processo, como objetos COM, procedimentos armazenados estendidos e servidores vinculados. Os valores relacionados ao sistema operacional que são relatados no DBCC MEMORYSTATUS refletem somente alocações de MemToLeave que são feitas diretamente pelo SQL Server. Outras alocações que ocorrem no MemToLeave desses outros componentes não estão incluídas porque o SQL Server não tem conhecimento dessas solicitações 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) OS reservados . O número de páginas que são reservados do sistema operacional para manipular solicitações de alocação são maiores do que aproximadamente 8 KB. confirmação do sistema operacional . A quantidade de memória em regiões reservadas que tenha sido confirmada. O valor de Confirmação do sistema operacional deve ser menor ou igual ao valor Reservados do sistema operacional porque buffers são reservados primeiro e confirmadas em seguida. Algumas da memória podem ser liberadas quando não é usado. Observação Há um bug no SQL Server 2000 (que é corrigido no SQL Server 2000 Service Pack 3) que faz com que esse valor a não ser mantido com precisão e, portanto, pode vir fora do intervalo válido. sistema operacional em uso . Os buffers de Confirmação do sistema operacional que estão fazendo no momento as alocações de memória pendentes. Geral . Memória que é usada por consumidores de memória geral em servidor, incluindo análise ou normalização, bloqueios, contexto de transação, estruturas de dados interno que descreve os metadados na memória para tabelas, índices e outros. Esse valor é o número total de buffers de 8 KB. Alguns deles podem ser roubados buffers do pool de buffers e outras pessoas podem ser de MemToLeave . QueryPlan . Memória usada para armazenar planos de consulta, transiently ou no cache. Esse valor é o número total de buffers de 8 KB. Alguns deles podem ser roubados buffers do pool de buffers e outras pessoas podem ser de MemToLeave . otimizador . Memória que está sendo usado pelo otimizador de consulta. Esse valor é o número total de buffers de 8 KB. Alguns deles podem ser roubados buffers do pool de buffers e outras pessoas podem ser de MemToLeave . utilitários . Memória em uso por vários rotinas de utilitários como BCP, Gerenciador de logs, consultas paralelas, :: fn_trace_gettable e outros. Esse valor é o número total de buffers de 8 KB. Alguns deles podem ser roubados buffers do pool de buffers e outras pessoas podem ser de MemToLeave . conexão . Memória que é usada para armazenar as estruturas de dados mantendo o contexto de conexão para cada conexão do usuário. Isso também inclui a memória para o envio de rede e receber buffers estão associados com uma conexão. Esse valor é o número total de buffers de 8 KB. Algumas dessas podem ser roubados buffers do pool de buffer e outras pessoas que podem ser de MemToLeave . ReferênciasManuais online do SQL Server Delaney, Kalen. Interno Microsoft SQL Server 2000, Microsoft Press, 2000. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 271624
(http://support.microsoft.com/kb/271624/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início