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.
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.
Posted on May 21, 2012, in Administração, SQL Server, VirtualPass and tagged Buffer Pool, Data Cache, Plan Cache. Bookmark the permalink. 1 Comment.
Pingback: Performance começa na modelagem « Alex Souza