zoukankan      html  css  js  c++  java
  • SqlServer内存瓶颈分析SQLServer:Buffer Manager

    SELECT TOP 312 * FROM  sys.dm_os_performance_counters
    where object_name ='SQLServer:Buffer Manager' order by counter_name


    1.Buffer cache hit ratio  平均值>=90%                                                                                                         

    缓冲区是创建数据页面的缓冲页面池,这一般是SQL server内存池中最大的部分。这个计数器应该尽可能高。

    低值表示只有少数的请求是在缓冲区,其他请求是在磁盘获取服务

    这种情况发生可能是SQL server还在准备状态下,或缓冲区的增长需求超过最大可用内存,因此如果此值比较低,应该考虑为系统增加内存。

    2.Checkpoint pages/sec    平均值<30     

    美好一个检查点操作移到磁盘的页面数量,这些值应该相当低,高值意味着缓冲中更多的页面被标记为脏页面。

    脏页面是在缓冲区中被修改的页面。一旦被修改,就标记为脏并在下一个检查点被写回磁盘。

    如果这个计数器较高说明系统发生大量的写入操作,可能是I/O问题的征兆。                                                                                                

    3.Lazy writes/sec     平均值<20            

     记录了缓冲区管理器的Lazy write进程每秒写入的缓冲区数量。这个进程会把时间较长的脏页面从缓冲区中删除,将内存释放

     数值过高说明I/O有问题或是内存问题。                                                                                                

    4.Page life expectancy     平均值>300        

    页面平均寿命,表示一个不被引用的页面在缓冲池中停留的时间。数值低意味着页面从缓冲区中被移走

    降低了缓冲的效率并指出内存压力的可能。                                                                                                    

    SELECT TOP 312 * FROM  sys.dm_os_performance_counters
    where object_name ='SQLServer:Memory Manager' order by counter_name

    1.Memory Grants Pending      平均值=0

    值高说明内存短缺,需要将进度挂起等待内存空闲

    2. Target Server Memory(KB)     接近物理内存大小

    表示SQLServer希望消耗的动态内存总数。

    3.Total Server Memory (KB  )    接近于Target Server Memory
    当前分配给SQLerver的总内存。 如果低于Target Server Memory

    那么可能是SQLserver内存需求很低,服务器最大内存设置的太低



    解决方案:

    优化应用程序工作负载

    为SQLServer分配更多内存

    增加系统内存

    更新32位处理器为64位

    启用3G进程空间

    在32位SQLserver中使用4G以上内存

    启用3G进程空间:

    在Boot.ini文件中增加3GB开关

    [boot loader]

    timeout=30

    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

    [operating systems]

    multi(0)disk(0)rdisk(0)partition(1)\WINNT=

    "Microsoft Windows Server 2008 Advanced Server"

    /fastdetect /3GB

  • 相关阅读:
    游戏中的有限状态机 (StateMachine)
    关于在Cocos下面配置开发环境、编译移植到android上面的奇葩问题小结
    As3.0中的Dictionary使用测试
    Nginx(一)--nginx的初步认识及配置
    布隆过滤器的demo
    redis(7)--redis应用实战
    redis(6)--redis集群之分片机制(redis-cluster)
    redis(5)--redis集群之哨兵机制
    redis(4)--redis集群之主从复制
    redis(3)--redis原理分析
  • 原文地址:https://www.cnblogs.com/baobao2010/p/2288658.html
Copyright © 2011-2022 走看看