sql server內存問題,敬請有經驗的高手看看!

flystar2 2003-09-11 03:15:02
Dear all:
我們的Sql server DB比較大(約有200用戶連線作業), 目前出現了cpu高佔用率的問題(80%以上),我們有做過一些sql語句優化, 但此問題還沒徹底解決. 最近有重新啟動服務, cpu佔用率馬上降了下來(10%左右),但隔一兩天內存又漲起來了.由此發現一問題, 可能是記憶體沒有自動釋放. 忘各位高手給點高見. 非常感謝!
ps: 如何在批處理中執行sql server記憶體釋放.

Best Regard
zm
...全文
40 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
own8888 2003-09-13
  • 打赏
  • 举报
回复
一般来说,SQL在系统中站用的CPU资源超过75%在考虑,不然随便它,关这些干什么。
happydreamer 2003-09-12
  • 打赏
  • 举报
回复
关于MSSQL占用过多内存的问题

摘:

经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢?
首先,我们来看看MSSQL是怎样使用内存的。
最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。所以一般我们在看statistics io的时候,看到的physics read都是0。
其次就是查询的开销,一般地说,hash join是会带来比较大的内存开销的,而merge join和nested loop的开销比较小,还有排序和中间表、游标也是会有比较大的开销的。
所以用于关联和排序的列上一般需要有索引。
再其次就是对执行计划、系统数据的存储,这些都是比较小的。

我们先来看数据缓存对性能的影响,如果系统中没有其它应用程序来争夺内存,数据缓存一般是越多越好,甚至有些时候我们会强行把一些数据pin在高速缓存中。但是如果有其它应用程序,虽然在需要的时候MSSQL会释放内存,但是线程切换、IO等待这些工作也是需要时间的,所以就会造成性能的降低。这样我们就必须设置MSSQL的最大内存使用。可以在SQL Server 属性(内存选项卡)中找到配置最大使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。

然后来看查询的开销,这个开销显然是越低越好,因为我们不能从中得到好处,相反,使用了越多的内存多半意味着查询速度的降低。所以我们一般要避免中间表和游标的使用,在经常作关联和排序的列上建立索引。

flystar2 2003-09-12
  • 打赏
  • 举报
回复
Dear happydreamer:
更正一下, 執行SET STATISTICS IO ON及顯示輸出, 我已找到答案(SET SHOWPLAN_ALL on). 另外, 還得請您建議一下內存的最佳設置.
flystar2 2003-09-12
  • 打赏
  • 举报
回复
Dear arrow_gx:
現在內存仍不斷在增大, 到一定程度時就需重啟服務才能恢復正常, 我想這不是根本的解決方法
我試試将tempdb设置大一些,希望有好消息告訴您.
CPU占用高的时候,确定是SQL在占用(RAM使用最多的也是sql).目前cpu占用較小(10%以下),但當內存增長到一定程度時, cpu就跟著衝起來.
在SQL时间探察器里有新建一个跟踪, 但這幾天都沒有找出占用較多CPU资源的事务.

Dear happydreamer:
在哪裡執行SET STATISTICS IO ON, 其輸出項目又在哪裡可看到(sql query analyzer中看不到輸出).
有動態設定sql server的記憶體, 最大值已設定為最大限制.
在经常作关联和排序的列上都有建立索引(在sql優化方面我們有注意)

以上為我的回覆, 感謝大家的幫助, 且非常高興我們能一起研究, 如有相關好消息,我一定與您們分享.
arrow_gx 2003-09-11
  • 打赏
  • 举报
回复
如果还出现这种情况,你可以在SQL时间探察器里新建一个跟踪,看看到底是什么事务占用CPU资源,发现问题后才能解决
arrow_gx 2003-09-11
  • 打赏
  • 举报
回复
你的数据量比较大,但是你的RAM占用太少了,应该让SQL自己决定内存的占用,我的环境数据量没有这么大,但是内存占用比你大多了,另外,检查一下你的tempdb,是不是很大?建议将tempdb设置大一些,减少数据库扩tempdb的次数,

另外,CPU占用高的时候,你确定是SQL在占用吗?
flystar2 2003-09-11
  • 打赏
  • 举报
回复
Dear arrow_gx:
目前系統的database中有很多table有幾十萬筆數據,我想是不是大型資料庫不能及時自動釋放內存, 因為以前的小系統不會有此情況.
我們主機配置: cpu: 4個1.40GHZ, RAM: 2G(只掛了這一個系統的DB)
不是内存占用增加后,CPU也跟着馬上增加, 具體為: 重啟服務(CPU 10%左右,RAM 400左右),可正常一段時間,但有時隔幾天後(CPU 80%左右, RAM:900左右).
arrow_gx 2003-09-11
  • 打赏
  • 举报
回复
这个问题,微软在技术白皮书里的解释为,内存占用不断是数据库将经常查询用到的数据载入内存,带来的效果是查询速度的加快,但你的CPU占用增加,就不是这个问题了,应该是CPU的处理能力问题了,

另外,是不是内存占用增加后,CPU也跟着增加??
如果是,应该增加内存,减少硬盘读取次数,减轻CPU负担(或加快CPU执行某个过程的速度),降低CPU的占用
伍子V5 2003-09-11
  • 打赏
  • 举报
回复
右键单击服务器,选“属性”,选“内存”
然后设定就可以了
山建大校内购物网V1.1源码

V1.1 Beta:

添加了最新加入好友功能,前台挖掘,数据库无任何改动。
添加了最新留言显示。
在显示商品页面添加了都是谁购买过该产品
增加了个人页面查看(简单的,基本信息,头像和购买物品)
管理员增加了对留言的管理
增加了荐购模块,用户可以告诉我们想买什么
V1.0 Beta

网站使用NBear3.7作为数据访问层,使用asp.net2.0+sql server2005。网站实现基本购物网站的在线订货,商品展示,分类,用户系统等模块,同时加入了web2.0 的特性,可以用来作为校内购物送货的网站


开发计划:

准备重构数据库,不能只用xml做修饰性的改进了。
考虑更换数据访问层,用自己写的数据访问层,完全重写网站
增加实名认证以及交互等功能
真正想做的是想完全重写这个网站的代码,更换Nbear数据访问层,改用自己写的数据访问层。随之带来的就是Nbear的Repeat控件不能用,所以整个网站基本要完全重写。考虑以下想在代码质量上面下功夫了。下个版本的发布估计要在1个月后,到时候希望可以给大家一个满意的答复。现在的代码还是别看了,嘿嘿。大家如果有什么好的建议请联系我,jessz@live.com



后台管理帐号密码均为51aspx

注意:该系统采用Sql2005数据库(DB_51aspx下为数据库文件,在Sql2005中附加即可)

Sql2000数据库正在转换中,敬请留意该源码评论内容

作者:jessezhao
【新人注意:下载后评价,CSDN会把下载分还给你!切记!不放心的请看完下面:】 ==================== 我晕死,声明几点: 1.我对骂人的人十分无奈也无语,素质低就不要出来丢人了; 2.资源是我觉得好才放上来跟大家分享的,简易便携,平时带到机房或者测试都很方便,这个完整纯净的版本现在网上已经不好找了,要么就是广告捆绑什么的一堆; 3.至于下载分,只要你评论了,不仅退还所有分还多送1分,CSDN的老规矩,怕什么。我也要下资源,赚点积分而已; 4.病毒的问题已经解释过很多遍了(见简介),信不信装不装凭自己判断,请少数人注意文明,低碳生活,谢谢大家; 5.没用过的可以先看评论~多翻几页,相信你会找到答案。诚请先试用后评价,祝您使用愉快,谢谢! ======================================== 关于有人说资源是“盗取来的”:哦,好吧,我被你打败了。你真的很逗,事实上你可以联系原作者,让他亲自发送到你邮箱。 我先声明这个的确不是我写的程序,是网上收集来的,拿来给大家分享。CSDN上的资源很多都是转载分享的,如果还是不放心大家尽可以自己上网找,名字见标题上的几个都可以,别打错。很好的软件,很多软件站都有搜藏,但是我下过发现很多不完整或者有垃圾广告插件乱七八糟的。 关于报毒的问题:这个没有办法,因为不是正常的网站访问程序,没有安装认证的安全策略,觉得心里别扭的只能安装IIS、阿帕奇之类的大玩意了,我是不喜欢配置太麻烦才用的这个,简单无需配置。但是个人保证:安全无毒!而且无垃圾。本人已经使用三年了~杀软也就在安装时报个警,安装好再开杀软好了,就没事了。敬请放心使用! 本人一向凭着谨慎的态度上传资源,如有担心,您可以在下载先使用后再评论,出了问题再差评就是!别误导别人。 详细的介绍还看简介,祝您使用愉快,谢谢! ============================================================ 【简介】 小旋风ASP服务器,适合学习ASP的时候用。帮你构建asp网页服务器,希望能给你帮助。 因为很多人都是装的Windows XP HOME版的操作系统(囧,我的XP_Pro_SP3装IIS也出错,包括505、501错误一大堆,com密码什么的网上讲的头头是道,可是怎么试都出错,难道真是RP - -),不能装IIS(会报这样那样的错误),这个正好派上用场,做好网页后再复制到IIS服务器上就可以运行了。具体使用方法简单,里面附有说明文档! 小旋风ASPWeb2005服务器是在NETBOX核心下开发的一套简洁(只有1M多点)强大(完全支持ACCESS,SQL数据库)的ASPWEB服务器,使用这个软件的您完全可以抛弃体积庞大的WINNT,WIN2000服务器系统及漏洞百出的IIS了。现在你可以在任何一个系统上调试和发布您的ASP程序了。目前测试通过的操作系统为:Windows 98;Windows 98 SE;Windows ME;Windows NT+IE4;Windows 2000;Windows XP;Windows .NET Server。 注意:安装时有些杀毒软件会检测它有病毒,不过事实上并不是,安装的时候先把杀毒软件暂停一下,等装好后再打开。我一直用的,没有任何问题,请放心使用! ==================================================================================

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧