网站大量收购闲置独家精品文档,联系QQ:2885784924

SQL Server 内存使用分析方法.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer内存使用分析方法SQLServer内存使用分析方法

SQL Server 内存使用的分析方法SQL Server内存性能计数器的分析方法.Memory Manager:监视服务器内存总体使用情况的计数器。常用的计数器如下。1、Total Server Memory (KB)从缓冲池提交的内存(KB )。注意:这不是SQL Server使用的总内存,而是Buffer Pool的大小。2、Target Server Memory (K B ) :服务器能够使用的内存总量。当Total Server Memory 小于 Target Server Memory时,说明SQL Server还没有用足系统能够给SQL Server的所有内存。SQL Server会不断地缓存新的数据页面和执行计划,而不会对这两部分缓存作清理。这样SQL Server的内存使用量会逐渐增加。当Target Server Memory因为系统内存压力变小时,它可能会小于Total Server Memory。只要这样的事情发生,SQL Server会很努力地清理缓存,降低内存使用量,直到Total Server Memory和Target Server Memory 一样大为止。3、下面这几个计数器反映了内存的分布情况。1) Optimizer Memory ( KB ):服务器正在用于査询优化的动态内存总数。2) SQL Cache Memory ( KB ):服务器正在用于动态SQL Server高速缓存的动态内存总数.3) Lock Memory ( KB ):服务器用于锁的动态内存总量4) Connection Memory ( KB ):服务器正在用来维护连接的动态内存总量5) Granted Workspace Memory ( K B ) :当前给予执行哈希、排序、大容量复制和索引创建操作等进程的内存总量.6) Memory Grants Pending:等待工作空间内存授权的进程总数。如果这个值不等于0, 就说明当前有一个用户的内存申请由于内存压力而被延迟。一般来讲,这就意味着有比较严重的内存瓶颈。由于Buffer Pool是SQL Server内存最活跃、使用最多的部分,所以也是最容易出现性能瓶颈的部分。这一部分的计数器也就尤其重要。7)Buffer Cache Hit Ratio:在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。该比率是缓存命中总次数与过去几千次页面访问的缓存査找总次数之比。经过很长时间后,该比率的变化应该很小,基本都应该在99%以上。8)Checkpoint pages/sec:由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。这个计数器的值和内存有没有压力倒没什么直接的关系。相反,它和用户的行为有关。如果用户的操作主要是读,就不会有很多数据改动的脏页,checkpoint的值就比较小。相反,如果用户做了很多 Insert/Update/Delete, 那么内存中修改过的数据脏页就会比较多,每checkpoint的量也会比较大。这个值在分析Disk I/O问题的时候反而用得比较多。9)Database pages:缓冲池中有数据库内容的页数。也就是所谓的Database Cache的大小10)Free pages:所有空闲可用的总页数。当这个值降低时,就说明SQL Server正在分配内存给一些用户。当这个值下降到比较低的值时(例如,只剩几百个Page 了),SQL Server就会开始做Lazy Writes,把一些内存腾出来。所以一般这个值不会为0。但是如果它反复降低,就说明SQLServer存在内存瓶颈。一个没有内存瓶颈的SQL Server的Free Pages会维持在一个稳定的值。11)Lazy writes/sec:每秒被缓冲区管理器的惰性编写器(Lazy writer)写人的缓冲区数。惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。前面讲过,当SQL Server感觉到内存压力的时候,就会将最久没有被重用到的数据页和执行计划清理出内存。这些数据页和执行计划,就被称为老化的缓冲区,而这个清理的动作,就是由Lazy writer完成的。所以如果SQLServer内存压力不大,Lazy writer就不会被经常触发。如果被经常触发,那么应该是有内存的瓶颈。12) Page life expectancy:页若不被引用,将在缓冲池中停留的秒数。如果SQL Server没有新的内存需求,或者有空余的空间来完成新的内存需求,那么Lazy writer就不会触发,页面会一直放在缓冲池里。那么Page Life Expectancy就会维持在一个比较高的水平

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档