笔记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