SQL Server Memory Manager

Amanhã recomeçamos mais um novo SQL BOOTCAMP de Ramp-up com os novos engenheiros do time. Começaremos pontualmente às 9h com um dos assuntos mais obscuros do mundo SQL Server: gerenciamento de memória. O blog do Slava ainda é considerado a documentação mais precisa sobre o assunto. SQLOS’s memory manager and SQL Server’s Buffer Pool http://blogs.msdn.com/b/slavao/archive/2005/02/11/371063.aspx…


Desafio: Qual a distribuição de memória?

Desde o SQL Server 2000, existem 3 grandes famílias de memória. São elas: Database Cache: Memória dedicada ao cache de páginas de dados (tabelas e índices) Stolen Memory: Memória roubada (!?!?) Free Memory: Memória livre na instância SQL server Qual das figuras abaixo representa uma situação típica de um servidor saudável e atendendo uma alta…


Falta de Memória na Máquina

No post anterior falei sobre a memória livre no sistema operacional, no qual apresentava um gráfico com grande variação na quantidade de memória livre. Afinal, como descobrir se falta memória RAM no meu servidor? Existe uma forma bastante simples usando a ferramenta do Performance Monitor. Basta acompanhar o contador “Memory: Available MBytes”. Esse contador apresenta…


Available Memory: Memória Livre no Sistema Operacional

Estou revisando um servidor em relação à quantidade de memória RAM disponível e notei um gráfico bem interessante: quantidade de memória livre em MB ao longo do tempo. Mudando a escala, o gráfico apresenta os vales mais acentuados: Desafio rápido: Seria isso um problema? Resposta: <ainda vou publicar>


Configurando o Maximize Throughput for Network Applications

Comecei a reler os artigos que escrevi no passado e encontrei um falando sobre Working Set. Quando escrevi o post, pensava no mistério do porque o Task Manager reporta a quantidade incorreta de memória usada pelo SQL Server. A explicação está em um documento do MSDN que comenta sobre a composição do Working Set. Toda…


TechEd Brasil 2011

Estes dias estava retomando os projetos antigos e um deles era o Blog ninja. Resolvi aliviar um pouco o trabalho e voltar a investir o tempo em escrever mais sobre SQL Server e seu funcionamento interno. Acabei lembrando do TechEd 2011, na qual apresentei em conjunto com o Luiz Felipe Pimenta a palestra “Raio-X do…


DBCC MEMORYSTATUS (Parte II)

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…


A significant part of sql server process memory has been paged out

Ouch! Você sabe o que essa mensagem significa? 2010-10-31 12:00:00.00 spid1s      A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 0 seconds. Working set (KB): 4620, committed (KB): 1652332, memory utilization: 0%. Pensando na data, dia 31/Out, eu seriamente pensaria em Helloween! Porque essa…


Coleta de dados no SQL 2008–Script 3

A terceira parte do script de coleta de dados para diagnóstico de performance está apresentado nesse artigo. A segunda parte era o coração do script e roda em intervalos periódicos de 5 a 15 segundos. Por outro lado, a terceira parte corresponde a parte massiva e que coleta a maior parte das informações. O objetivo…


Coleta de dados no SQL 2008–Script 2

A segunda parte do script de coleta de dados para diagnóstico de performance está apresentado nesse artigo. Aqui, os dados serão coletados em intervalos de 5 a 15 segundos. Esse é o coração do blocker script e corresponde a um ponto muito delicado, porque a coleta é realizada frequentemente sem impacto de performance. Links Relacionados…