SQL 2012 内存计数器的变化

通过对比SQL Server 2008 R2与SQL Server 2012 ,可以发现其中2组计数器(SQLServer:Buffer Manager 和 SQLServer:Memory Manager)发生了变化。

 

一、取消了AWE

   在SQL Server 2012 企业版,AWE的设置画面已经消失了。

 

二、Buffer Manager计数器组

(1)取消了AWE的相关计数器

  1. AWE lookup maps/sec:每秒服务器请求、在缓冲池中查找和映射数据库页的次数。数据库页映射后便成为服务器虚拟地址空间的一部分。

  2. AWE stolen maps/sec:每秒从可用列表中取出和映射缓冲区的次数。

  3. AWE unmap calls/sec:每秒调用取消映射缓冲区的次数。缓冲区取消映射后,将被排除在虚拟服务器地址空间之外。每次调用时可以取消映射一个或多个缓冲区。

  4. AWE unmap pages/sec:每秒取消映射的 SQL Server 缓冲区数。

  5. AWE write maps/sec:每秒必须映射到脏缓冲区中的次数,经过该次数后才能写入磁盘。

(2)没有变化的计数器

  1. Buffer cache hit ratio:在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。该比率是缓存命中总次数与过去几千页访问以来的缓存查找总次数之比。经过很长时间后,该比率的变化很小。由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。通常,可以通过增加 SQL Server 的可用内存量来提高缓冲区高速缓存命中率。

  2. Checkpoint pages/sec:由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。

  3. Database pages:缓冲池中有数据库内容的页数。

  4. Free list stalls/sec:每秒必须等待可用页的请求次数。

  5. Lazy writes/sec:每秒被缓冲区管理器的惰性编写器写入的缓冲区数。惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。惰性编写器不需要为创建可用缓冲区而频繁执行检查点。

  6. Page life expectancy:页若不被引用将在缓冲池中停留的秒数。

  7. Page lookups/sec:每秒要求在缓冲池中查找页的请求数。

  8. Page reads/sec:每秒发出的物理数据库页读取数。此统计信息显示的是所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据缓存、智能索引、更有效的查询或更改数据库设计等方法,将开销降到最低。

  9. Page writes/sec:每秒执行的物理数据库页写入数。

  10. Readahead pages/sec:每秒为预期使用读取的页数。

(3)增加的计数器

  1. Background writer pages/sec:

  2. Integral Controller Slope:

(4)消失的计数器

  1. Free pages:所有可用列表的总页数。

  2. Reserved pages:缓冲池保留的页数。

  3. Stolen pages:用于其他服务器用途(包括过程缓存)的页数。

  4. Total pages:缓冲池中的页数(包括数据库页、可用页和被盗页)。

 

三、Memory Manger计数器组

(1)没有变化的计数器

  1. Connection Memory (KB):服务器正用来维护连接的动态内存的总量。

  2. Granted Workspace Memory (KB):前授予执行哈希、排序、大容量复制和索引创建操作等进程的内存总量。

  3. Lock Blocks:服务器上使用的锁块的当前数目(定期进行刷新)。 一个锁块代表一个单独的锁定资源,如表、页或行。

  4. Lock Blocks Allocated:分配的锁块的当前数量。 服务器启动时,分配的锁块数加上分配的锁拥有者块数依赖于 SQL Server Locks 配置选项。 若需要更多的锁块,此值会增加。

  5. Lock Memory (KB):服务器用于锁的动态内存总量。

  6. Lock Owner Blocks:当前正在服务器上使用的锁拥有者块的数目(定期进行刷新)。 一个锁拥有者块代表一个独立线程对某一对象上的一个锁的拥有权。 因此,若三个线程在一个页上各有一个共享 (S) 锁,就会有三个锁拥有者块。

  7. Lock Owner Blocks Allocated:分配的锁拥有者块的当前数量。 服务器启动时,分配的锁拥有者块数和分配的锁块数依赖于 SQL Server Locks 配置选项。 若需要更多的锁拥有者块,此数值会动态增加。

  8. Maximum Workspace Memory (KB):用于执行哈希、排序、大容量复制和索引创建操作等进程的最大可用内存数。

  9. Memory Grants Outstanding:成功获得工作空间内存授权的进程总数。

  10. Memory Grants Pending:等待工作空间内存授权的进程总数。

  11. Optimizer Memory (KB):服务器正用于查询优化的动态内存总数。

  12. SQL Cache Memory (KB):服务器正用于动态 SQL 缓存的动态内存总数。

  13. Target Server Memory (KB):服务器能够使用的理想内存量。

  14. Total Server Memory (KB):服务器已使用内存管理器提交的内存量。

 

(2)增加的计数器

  1. Database Cache Memory (KB):服务器当前正用来缓存数据库页面的内存量。

  2. External benefit of memory

  3. Free Memory (KB):服务器当前未使用的已提交内存量。

  4. Reserved Server Memory (KB):服务器保留供将来使用的内存量。 此计数器显示最初授予(显示在 Granted Workspace Memory (KB) 中)但当前未使用的的内存量。

  5. Stolen Server Memory (KB):服务器当前正用于除数据库页面之外的其他用途的内存量。

 

本文出自 “我们一起追过的MSSQL” 博客,保留此出处http://jimshu.blog.51cto.com/3171847/991313


你可能感兴趣的:(SQL计数器)