sqlserver2005 性能分析(2)
?使用win2003操作系统性能计数器,分析以下具体指标:
SQL Server :Buffer Manager buffer cache hit ratio page life expectancy free pages是内存中空页的数量,不要接近于0,个值说明查询能否在其他查询不是放内存的情况下,快速的分配内存的主要依据。如果free pages 很少,页生命周期很短,并且伴随着空页争用(free list stalls/sec)的情况那么很有可能导致内存压力。 Free list stalls/sec SQL Server:memory Manager SQL Server:memory Manager对象内对内存的消费和内存管理的问题提供了很重要参考 total server memory 和 target server memory 这2个计数器代表了当前sql server 使用的总共内存和sql server 想要用的内存。如果 target server memory超过了total server memory,也是内存压力的重要标志。sql server 会减少内存的需求来接近服务的可用内存,或者通过最大服务器内存配置,所以当内存出现压力问题的时候不应该第一时间去查看这2个计数器 memory grants outstanding 该值是现实多少进程已经成功的获取了内存的授权。在一段时间内,业务高峰期,如果该值过低,那么标志可能存在内存压力,特别是 memory grants pending 也比较高的情况下。 ?memory grants pending 该值是有过少进程正在等待内存的授权。如果为非0,那么说明需要调整或者优化负载或者增加内存。 ? 内存相关的DMV 和内存相关的等待和非buffer pool 内存分配的信息,从dmv中获取。 sys.dm_exec_query_memory_grants 可以查看正在等待授权的查询,特别是大内存的授权 sys.dm_os_memory_cache_counter multi_pages_kb 显示了多页分配的内存分配 sys.dm_os_sys_memory 合计了系统当前内存,缓冲,cache,多页分配分配的内存。 sys.dm_os_memory_clerks 显示相关管理内存的书记进程,如 buffer pool 大内存的使用并且结合 MEMORYCLERK_SQLQERESERVATIONS 可以发现buffer pool 内存不足 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |