SQL Server服务器内存升级后的烦恼
2008-11-21 10:11:05 来源:WEB开发网不久之前,笔者一个在企业中从事网管工作的朋友向我求助关于SQL Server服务器内存升级后遇到的问题。原来,他们企业准备上一个企业邮箱系统。为了节省开支,他们准备在原来的SQL Server服务器上部署企业的邮箱服务器。为了提高这个服务器的性能,让其能够承担其两种应用服务的重任,所以,他们对内存进行了升级。从原先的1G升级到了2G。
但是,内存升级完以后,邮箱应用服务的性能不但没有改善,而且,还有恶化的趋势。运行一段时间后,这台服务器上运行的邮箱系统就出现了异常情况。时不时的会报出内存分配不足的情况。一开始,他们还以为是邮箱服务器跟SQL Server服务器不兼容。故还请了邮箱服务器的技术人员前来查看。经过他们的检查,发现是SQL Server服务占用的大部分内存所导致的。SQL Server服务所需要的内存,从升级之前的600M左右一下子到了1.5个G。难怪邮箱应用服务要警报说内存不够了。
一、原因分析。
笔者对这种问题已经是见怪不怪了,已经遇到过好几次类似的故障。在SQL Server数据库启动的时候,数据库系统会根据物理内存的大小来动态的增大或者缩小高速缓冲区的容量。这主要是为了提高SQL Server服务器的性能才如此的设计的。
我们知道,一般情况下,高速缓冲区越大,则SQL Server服务器的性能越好。这主要是因为有些用户查询过的数据都可以放在高速缓冲区(即内存的其中一部分)中。如此的话,当用户下次再次需要这些数据的时候,就不用到硬盘中去读取,而直接在内存中读取即可。而从内存中读取数据要比在硬盘中读取速度要快的多。
所以,只要当服务器的可用内存在4MB与10MB之间的话,数据库系统就会把它的高速缓冲区不断的扩大。如此的话,当邮箱服务器突然需要用到比较大的内存,如对邮箱进行备份或者有用户群发邮件的时候,就会报错说“内存分配不足”。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接