读书频道 > 网站 > 网页设计 > SQL Server 性能优化与管理的艺术
3.6.2 SQL Server 内存
14-11-15    奋斗的小年轻
收藏    我要投稿   
全书共15章,分为三部分,第一部分(第1~2章)为概述部分,阐述SQL Server方面的性能及相关概念。并给出常规的性能及性能相关的问题侦测的方法论,读者可以通过这两章的介绍,对SQL Server性能问题有一个高层立即去当当网订购

SQL Server的内存管理一共分3级,最底层是内存节点,是SQL Server内存的最低级分配对象;第二级是Memory clerks,前面提到过,它是用于访问内存节点和缓存存储的,主要用于缓存;顶级节点是内存对象,只有clerks可以访问内存节点并分配内存,所以所有需要分配内存的组件都会创建自己的memory clerks。
 
1.内存节点
 
内存节点直接映射到NUMA节点,可以通过sys.dm_os_memory_nodes来查看服务器的使用情况。如果没有做NUMA,那么memory_node_id为0。
 
每个内存节点有自己的memory clerks和缓存,它们平均分布在所有节点中。SQL Server的所有内存使用量就是所有节点的总和。
 
2.memory clerks和 Buffer Pool
 
memory clerks是用于内存缓存的一种机制,Buffer Pool是SQL Server内存中的最大消耗者。
 
(1)memory clerks
 
当一个对象需要分配内存时,都是通过memory clerks来实现的,SQL Server的Buffer Pool有自己的clerks(MEMORYCLERK_SQLBUFFERPOOL),而执行计划也有自己的clerks(MEMORYCLERK_SQLQUERYPLAN),这两类clerks对内存问题的侦测很有帮助,可以通过Sys.dm_os_memory_clerks这个DMV来查看相关详细信息。
SELECT   [type] ,
        memory_node_id ,
       --page_size_bytes,--2012之前字段
 
       --pages_kb ,--2012字段
        virtual_memory_reserved_kb ,
        virtual_memory_committed_kb ,
        awe_allocated_kb
FROM     sys.dm_os_memory_clerks
ORDER   BY virtual_memory_reserved_kb DESC;
 
(2)Buffer Pool
 
在Buffer Pool中,包含和管理SQL Server的数据缓存,可以从sys.dm_os_buffer_descriptors中查询相关信息,代码清单3-1中就用这个DMV查询数据库的缓存情况。
 
监控SQL Server的Buffer Pool是检查内存压力时非常重要的手段。通常可以检查下面的性能计数器:
 
1) MSSQL$<instance >:Memory Manager\Total Server Memory (KB):Buffer Pool的大小。
 
2)MSSQL$<instance >:Memory Manager\Target Server Memory (KB):表示空闲的Buffer Pool大小。Total和Target的值应该尽可能相同,如果Total明显小于Target,可能意味着出现了内存压力,需要更深入地研究。
 
3)MSSQL$<instance >:Buffer Manager\Page Life Expectancy:代表着一个数据存在于Buffer Pool的时间。这个值越长越好,最低时间应该设置为300s。
 
(3)执行计划缓存(Plan Cache)
 
生成执行计划是花时间较多且资源开销较大的操作,所以合理地缓存执行计划是明智的选择。可以通过DMV sys.dm_exec_cached_plans来查询计划缓存的信息。比如下面的脚本可以查看当前已缓存的计划数及所占的MB数。
 
SELECT  COUNT(*) AS 'Number of Plans' ,

       SUM(CAST(size_in_bytes AS BIGINT)) / 1024 / 1024 AS 'Plan Cache Size (MB)'

FROM    sys.dm_exec_cached_plans
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站