Calculo: Consumo Buffer Pool

Ola Pessoal,

Apenas para compartilhar um simples script de como calcular o quanto de memoria o Buffer Pool esta consumindo.

SELECT DB_NAME(database_id) AS [Database Name],
COUNT(*) * 8/1024.0 AS [Cached Size (MB)] into #temp
FROM sys.dm_os_buffer_descriptors
WHERE database_id > 4 — system databases
AND database_id <> 32767 — ResourceDB
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC OPTION (RECOMPILE);

select ‘DATA CACHE’ as TipoDeMemoria,SUM([Cached Size (MB)]) as TotalEmMB from #temp
union all
select ‘PLAN CACHE’ as TipoDeMemoria,(SUM(cast(size_in_bytes as bigint)) / 1024 / 1024) as TotalEmMB
from sys.dm_exec_cached_plans
union all
select ‘BUFFER POOL’ as TipoDeMemoria,(SUM(cast(size_in_bytes as bigint)) / 1024 / 1024) + (SELECT SUM([Cached Size (MB)]) from #temp)
from sys.dm_exec_cached_plans

Segue em um dos ambientes o resultado.

Imagem

Vale lembrar que aqui estou falando apenas de Buffer Pool, ou seja, nao estou mencionando o VAS (VIRTUAL ADDRESS SPACE) que será discutido em um proximo post.

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em maio 21, 2012, em Administração, SQL Server, VirtualPass e marcado como , , . Adicione o link aos favoritos. 1 comentário.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: