+ -
当前位置:首页 → 问答吧 → MSSQL2000内存暴涨 求分析原因 附图

MSSQL2000内存暴涨 求分析原因 附图

时间:2011-12-04

来源:互联网

近日接手一套WEB程序。MSSQL2000数据库。
上线后发现数据库经常跑满内存。WEB查询次数日均2W-5W次这个查询量应该不大。但是内存经常半天就跑满。
附上dbcc memorystatus查询的结果。请各位帮忙看下这个数据是否正常







因为不明白结果中各项数值的正常范围。无从参考。只能贴图上来请各位帮忙看下。先谢了!

作者: systemx   发布时间: 2011-12-04

参考:
http://support.microsoft.com/?id=907877

我再怎么说也没它说得对.

作者: qianjin036a   发布时间: 2011-12-04

看 free,大多数内存是在free 状态的。也就是说,sql server 向系统申请了 内存,来执行sql 语句
但是,当语句完成的时候 sql server 并没有 释放给内存。

为什么没释放,因为系统还没有到 内存枯竭的状况。系统不会去向sql server 要求释放内存。
如果 系统内存不够用了,就会要求sql server 释放内存。free 也就会变小。

其实问题不大,lz 不需要太担心。

如果感觉还是使用太高,lz 可以优化一下sql 语句,尽量差必要的数据,不要使用select *。
也可以优化索引,减少从io 读入到buffer 的数据。这样既能提高io 也能减少内存的使用量

作者: fanzhouqi   发布时间: 2011-12-04

并发数量太大?有没有去试试跟踪一下?用SQL PROFILER

作者: fredrickhu   发布时间: 2011-12-04

执行一下

DBCC FREESYSTEMCACHE ( 'ALL' ) 

再看看.

作者: qianjin036a   发布时间: 2011-12-04

热门下载

更多