top

笔记79 查看SQL Buffer Pool的信息 DBCC memorystatus

笔记79 查看SQL Buffer Pool的信息 DBCC memorystatus numa节点

1 --查看SQL Buffer Pool的信息 DBCC memorystatus
2 --
3 --底层的是Memory Node,Memory Node的作用是使得分配内存由Windows移交到SQL Server OS层面执行。
4 --每个SQL Server实例通常都只拥有一个Memory Node,Memory Node的多寡只取决于NUMA构架的硬件配置。
5 --我们通过 DBCC MEMORYSTATUS  可以看到Memory Node的一些信息
6 
7 DBCC memorystatus

 第二个方法,一个Memory Node对于一个numa节点

SELECT DISTINCT memory_node_id FROM sys.dm_os_memory_clerks

 

第三个方法

parent_node_id:numa节点id
select scheduler_address,parent_node_id,scheduler_id,status,is_online  from sys.dm_os_schedulers

 

parent_node_id == memory_node_id == numa节点id

 

复制代码
统计分配的内存总量
统计内存分配器分配的内存总量

SELECT mc.type, mc.name, sum(mc.pages_kb) as AllocatedPages_KB,
sum(mc.virtual_memory_reserved_kb) as VM_Reserved_KB,
sum(mc.virtual_memory_committed_kb) as VM_Committed_KB,
max(mc.page_size_in_bytes)/1024 as SinglePageSize_KB
FROM sys.dm_os_memory_clerks mc GROUP BY mc.type, mc.name
ORDER BY AllocatedPages_KB desc, mc.type, mc.name


查询结果如图18-2所示
MEMORYCLERK_SQLBUFFERPOOL:表示缓冲区中数据的大小。
OBJECTSTORE_LOCK_MANAGER:表示锁结构使用的内存,当发生严重的锁阻塞时,表明系统中存储了大量锁,造成锁管理占用大量的内存。
CACHESTORE_OBJCP:表示触发器和存储过程模块(Module)的执行计划占用的缓存空间。
CACHESTORE_SQLCP:表示动态 Transact-SQL 语句,即查询和预编译 Transact-SQL 语句的执行计划缓存。
CACHESTORE_COLUMNSTOREOBJECTPOOL:表示列存储索引占用的缓存。
复制代码

 

 

f

posted @   桦仔  阅读(741)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示