sqlserver:buffer manager计数器 stolen pages
SELECT SUM(single_pages_kb)/1024.0 [单页],
SUM(multi_pages_kb)/1024.0 [多页],
SUM(virtual_memory_reserved_kb)/1024.0 [VM 预留],
SUM(virtual_memory_committed_kb)/1024.0 [VM 已提交],
SUM(awe_allocated_kb)/1024.0 [awe]
FROM sys.dm_os_memory_clerks
根据定义:
single_pages_kb
已分配的单页内存的容量(千字节)。这是通过单页分配器分配的内存容量。它指的是从此缓存的缓冲池中直接获取的 8 KB 页。表明 single_pages_kb 是stolen类型的访问方式得到的内存;
而multi_pages 大于8k的内存 都是直接stolen得到的
理论上
sqlserver:buffer manager计数器 stolen pages *8kb应该等于SELECT SUM(single_pages_kb)+
SUM(multi_pages_kb)
FROM sys.dm_os_memory_clerks
但是实际上:
sqlserver:buffer manager计数器 stolen pages *8kb
无限接近
SELECT SUM(single_pages_kb)
FROM sys.dm_os_memory_clerks
高手快来啊
SELECT SUM(single_pages_kb)/1024.0 [单页],
SUM(multi_pages_kb)/1024.0 [多页],
SUM(virtual_memory_reserved_kb)/1024.0 [VM 预留],
SUM(virtual_memory_committed_kb)/1024.0 [VM 已提交],
SUM(awe_allocated_kb)/1024.0 [awe]
FROM sys.dm_os_memory_clerks
根据定义:
single_pages_kb
已分配的单页内存的容量(千字节)。这是通过单页分配器分配的内存容量。它指的是从此缓存的缓冲池中直接获取的 8 KB 页。表明 single_pages_kb 是stolen类型的访问方式得到的内存;
而multi_pages 大于8k的内存 都是直接stolen得到的
理论上
sqlserver:buffer manager计数器 stolen pages *8kb应该等于SELECT SUM(single_pages_kb)+
SUM(multi_pages_kb)
FROM sys.dm_os_memory_clerks
但是实际上:
sqlserver:buffer manager计数器 stolen pages *8kb
无限接近
SELECT SUM(single_pages_kb)
FROM sys.dm_os_memory_clerks
高手快来啊
单实例
sql server 2005sql server:buffer manager:stolen pages=67368page*8k=528944kbSELECT SUM(single_pages_kb)[单页],
SUM(multi_pages_kb)[多页]
FROM sys.dm_os_memory_clerks 获得结果是:538952,11432
bigint
分配的单页内存量 (KB)。这是使用内存节点的单页分配器分配的内存量。此单页分配器直接从缓冲池盗用页。不可为空值。
multi_pages_kb
bigint
分配的多页内存量 (KB)。这是使用内存节点的多页分配器分配的内存量。此内存在缓冲池外面分配,利用了内存节点虚拟分配器的优势。不可为空值。
错误:
无法连接到指定的机器或机器已脱机。
[Buffer Pool] = sum(virtual_memory_committed_kb) + sum(single_pages_kb)
MemToLeave = sum(multi_pages_kb)申请小于等于8KB为一个单位的内存,这些内存称为Buffer Pool申请大于8KB为一个单位的内存,这些内存称为Multi-Page(或MemToLeave)
SQLServer:Memory Manager:Target Server Memory(KB):服务器可供SQL Server使用的内存量。一般是由SQL Server能访问到的内存量和SQL Server的sp_Configure配置中的Max Server Memory值中的较小值算得。 SQLServer:Memory Manger:Memory Grants Pending:等待内存授权的进程总数。如果该值不为0,说明当前有用户的内存申请由于内存压力被延迟,这意味着比较严重的内存瓶颈。 SQLServer:Buffer Manager:Buffer Cache Hit Ratio:数据从缓冲区中找到而不需要从硬盘中去取的百分比。SQL Server在运行一段时间后,该比率的变化应该很小,而且都应该在98%以上,如果在95%以下,说明有内存不足的问题。
SQLServer:Buffer Manager:Lazy Writes/Sec:每秒钟被惰性编辑器(Lazy writer)写入的缓冲数。当SQL Server感觉到内存压力的时候,会将最久没有使用的数据页面和执行计划从缓冲池中清理掉,做这个动作的就是Lazy Writer。
Page Life Expectancy:页面不被引用后,在缓冲池中停留的秒数。在内存没有压力的情况下,页面会一直待在缓冲池中,Page Life Expectancy会维持在一个比较高的值,如果有内存压力时,Page Life Expectancy会下降。所以如果Page Life Expectancy不能维持在一个值上,就代表SQLServer有内存瓶颈。
SQLServer:Buffer Manager:Database Pages :就是Database Cache的大小。
SQLServer:Buffer Manager:Free Pages:SQL Server中空闲可用的大小。 SQLServer:Buffer Manager:Stolen Pages:Buffer Pool中Stolen的大小。 SQLServer:Buffer Manager:Total Pages:Buffer Pool的总大小(等于Database Pages+Free Pages+Stolen Pages)。该值乘以8KB,应该等于Memory Manager:Total Server Memory的值。
2)申请大于8KB为一个单位的内存,这些内存称为Multi-Page(或MemToLeave)sum(single_pages_kb) 是 Buffer Pool中的Stolen的内存楼主的问题估计是这样子吧!