MSSQL2000内存暴涨 求分析原因 附图
时间:2011-12-04
来源:互联网
近日接手一套WEB程序。MSSQL2000数据库。
上线后发现数据库经常跑满内存。WEB查询次数日均2W-5W次这个查询量应该不大。但是内存经常半天就跑满。
附上dbcc memorystatus查询的结果。请各位帮忙看下这个数据是否正常



因为不明白结果中各项数值的正常范围。无从参考。只能贴图上来请各位帮忙看下。先谢了!
上线后发现数据库经常跑满内存。WEB查询次数日均2W-5W次这个查询量应该不大。但是内存经常半天就跑满。
附上dbcc memorystatus查询的结果。请各位帮忙看下这个数据是否正常



因为不明白结果中各项数值的正常范围。无从参考。只能贴图上来请各位帮忙看下。先谢了!
作者: systemx 发布时间: 2011-12-04
作者: qianjin036a 发布时间: 2011-12-04
看 free,大多数内存是在free 状态的。也就是说,sql server 向系统申请了 内存,来执行sql 语句
但是,当语句完成的时候 sql server 并没有 释放给内存。
为什么没释放,因为系统还没有到 内存枯竭的状况。系统不会去向sql server 要求释放内存。
如果 系统内存不够用了,就会要求sql server 释放内存。free 也就会变小。
其实问题不大,lz 不需要太担心。
如果感觉还是使用太高,lz 可以优化一下sql 语句,尽量差必要的数据,不要使用select *。
也可以优化索引,减少从io 读入到buffer 的数据。这样既能提高io 也能减少内存的使用量
但是,当语句完成的时候 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' )
再看看.
DBCC FREESYSTEMCACHE ( 'ALL' )
再看看.
作者: qianjin036a 发布时间: 2011-12-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28