草莓味的小哪吒微博:为什么SQL Server运行中会隔1、2个小时就把我的内存全“吃”了呢?

来源:百度文库 编辑:高校问答 时间:2024/04/30 02:41:49
我的电脑是服务器(Intel SE7525GP2主板 至强3.0CPU 1.0G内存),装有瑞星2006杀毒软件(没有装防火墙),平时运行SQL Server 2000,在进程中可以看到每隔1-2个小时SQL就把内存给全部占用了,在SQL Server服务管理器里把SQL Server服务停止后,被占用的内存又都回来了。请教各位高手:这个问题怎么解决呢?
我是运行优化大师的内存整理程序自动整理的,要不然就是处于半死机状态。

这是SQL Server 缓冲池的预期行为。默认情况下,在启动 SQL Server之后,SQL Server会根据操作系统报告的物理内存数来动态增大或缩小高速缓冲存储器的容量。只要可用物理内存大小保持在4MB到10MB之间,SQL Server 缓冲池就会继续增大(保留可用物理内存在4MB到10MB之间是为了避免操作系统因为缺少内存而频繁地换页)。如果物理可用内存变得较少的时候,则SQL Server会将一些内存释放给操作系统。需要采取措施限制SQL Server 的内存使用量。可以通过设置SQL Server 数据库引擎使用的内存的上下限来达到此目的。其具体步骤是:
1.打开企业管理器,展开服务器组。
2.单击该服务器,点击鼠标右键,单击属性菜单。
3.在弹出的对话框中单击内存选项卡。
内存设置方法有两种:
1.设置min server memory和max server memory 在一个范围段内。比如,我们将它设置成最小0MB,最大255MB。这种方法在为一台服务器中运行多个应用程序分配内存时非常有用。
2.设置 min server memory 和 max server memory 为同一数值。比如,可以将它最大和最小值都设置成255MB。这样的设置方法与窗口中的另一个选项“使用固定的内存大小” 相一致。
虽然内存最小值和最大值设置是高级选项,但在设置完毕之后,最好还是先将SQL Server服务停止后再重新运行,以便SQL Server能更好地对内存进行合理安排。

只能说SQL Server 2000运行时占内存,但你不用管他,只要不死机就行了,至强处理器,和奔腾处理器,一样,能瞬间出现很高的占用率,再不,另一方面,你查一下内存上的电话,验正一下,看看是不是你的内存,是假的!