内存管理相关
今天使用SQL 2008的时候,发现内存一直上涨,后来找到它的内存上限设置项,默认的数相当大,远超过目前你看到的内存量,如果程序一直跑,SQL SERVER有可能把操作系统搞漰。
找到了问题点,随手就设置了一下上限,把它设置成1024M,可问题来了,SQL占了1024M,那我的其它程序及系统资源与它加起来,还是达到了1.6G,总共2G的内存,本子还是很卡。
为了让本子还能做别的事,又降,降到512M,数据库还是稳定不受影响,再降,降到256M,数据库仍然正常。哈哈,搞定。
这会想起内网2003服务器也很卡,应该也是这个原因,但是服务器是8G内存,理论上小数据量不会上到这么高啊,查了一下内存量,SQL SERVER占了1.7G,再看看操作系统的内存使用量,不到2G,服务器有8G,不应该卡啊。
不管了,先把SQL的内存占有量降下来再说。
回到上面的问题,总觉得8G的内存,让服务器卡,不可思议,查下MS的文档再说。从网上找到一篇文章,关于如何让2003服务器支持大内存。http://support.microsoft.com/kb/283037/ 。 按文章中的说明,查了一下boot.ini文件,如下:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /NoExecute=OptOut
其中/noexecute=optin,启用DEP(系统数据执行保护),把上面这行改成:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE
重启系统,搞定。
顺便写一下微软对这个问题的描述。
例如,如果正在运行的系统安装了 4GB 的 RAM,随后又添加了另外 4GB 的 RAM,Windows 可能只识别出 4GB 或 6GB 的物理内存,而不是全部的 8GB。冗余内存功能或内存镜像功能可能在您未知的情况下就在新内存块上启用。这些症状类似于未将 /PAE 开关添加到 Boot.ini 文件时的症状。
浙公网安备 33010602011771号