虚拟主机域名注册-常见问题数据库问题 → 数据库问题


SQL Server服务器内存升级后的烦恼
作者:

从上文中可以总结出SQLServer数据库服务器内存并不是可以无限大的增大,要符合技术的限制要求,希望上文中介绍的内容对大家能够有所协助。

不久之前,笔者一个在企业中从事网管工作的朋友向我求助关于SQLServer服务器内存升级后遇到问题。原来,企业准备上一个企业邮箱系统。为了节省开支,准备在原来的SQLServer服务器上部署企业的邮箱服务器。为了提高这个服务器的性能,让其能够承担其两种应用服务的重任,所以,对内存进行了升级。从原先的1G升级到2G但是内存升级完以后,邮箱应用服务的性能不但没有改善,而且,还有恶化的趋势。运行一段时间后,这台服务器上运行的邮箱系统就出现了异常情况。时不时的会报出内存分配缺乏的情况。一开始,还以为是邮箱服务器跟SQLServer服务器不兼容。故还请了邮箱服务器的技术人员前来检查。经过他检查,发现是SQLServer服务占用的大部分内存所导致的SQLServer服务所需要的内存,从升级之前的600M左右一下子到1.5个G难怪邮箱应用服务要警报说内存不够了

原因分析

笔者对这种问题已经是见怪不怪了已经遇到过好几次类似的故障。SQLServer数据库启动的时候,数据库系统会根据物理内存的大小来动态的增大或者缩小高速缓冲区的容量。这主要是为了提高SQLServer服务器的性能才如此的设计的

知道,一般情况下,高速缓冲区越大,则SQLServer服务器的性能越好。这主要是因为有些用户查询过的数据都可以放在高速缓冲区(即内存的其中一部分)中。如此的话,当用户下次再次需要这些数据的时候,就不用到硬盘中去读取,而直接在内存中读取即可。而从内存中读取数据要比在硬盘中读取速度要快的多。

所以,只要当服务器的可用内存在4MB与10MB之间的话,数据库系统就会把它高速缓冲区不时的扩大。如此的话,当邮箱服务器突然需要用到比较大的内存,如对邮箱进行备份或者有用户群发邮件的时候,就会报错说“内存分配缺乏”

故一般只是内存升级,往往不能够解决SQLServer服务与其他应用服务抢占内存的情况。为了让SQLServer能够与其他应用服务友好的共处,数据库管理员还需要对内存进行合理的分配,限制SQLServer数据库服务内存的占用率。



来源:
阅读:2003
日期:2011-10-28

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:认识虚拟主机应用
下一篇:Java核心之Java内存分配原理
  >> 相关文章