
因为SQLserver版本是32位的,你看下win2008是不是64位?
1、安装64位的 *** 作系统,安装64位MSSQL。这方法比较符合硬件,但是要重装软件。
或者
2、打开"SQL Server Management Studio"点服务属性,开启“AWE”,设立最大内存301024(保留2G给 *** 作系统用),选中“配置值”。然后重启服务
注:看下 *** 作系统识别出来多内存,如果小于4G,则要为 *** 作系统开启“/PAE”
>
>
SQL Server的内存一直上不去。从Task Schedule中看到SQL Server只使用了88MB内存,实际这台机器有12GB的内存,可用内存有超过8GB。 当时我以为是开启了AWE导致的,所以连接到他的服务器看了一下。但是数据库为2005企业版64位,所以不用开启AWE。而且即使开启了,也会被忽略。 使用下面的脚本查询了一下SQL Server内存使用: select physical_memory_in_use_kb,locked_page_allocations_kb,fromsysdm_os_process_memory 看到实际使用的内存有2GB,远远超出任务管理器看到的。(也可以通过Perfmon的Total server memory(MB)查看)。 当时觉得很奇怪,查看了SQL Server错误日志发现了类似下面的信息: 2009-06-0412:21:0816 Server Large Page Extensions enabled 2009-06-04 12:21:0816 Server Large Page Granularity: 2097152 2009-06-04 12:21:0821 Server Large Page Allocated: 32MB 猜测这台期间开启了Lock Pages In memory功能,之后得到确认。因为开启Lock Pages In memory之后,SQL Server会使用AWE APIs锁定内存页,所以这部分的内存使用不会显示在Working Set中。 So in summary the AWE APIs for 32bit and 64bit SQL Server systems are used for different purposes In 32bit it is really to extend memory access beyond 4Gb or to enable the AWE feature For 64bit systems, it is to possibly gain performance and to “lock pages” for the buffer pool 到现在这个问题就比较明朗了,其实SQL Server还是正常工作的。一般查询SQL Server的使用还是建议使用DMV或者Perfmon,直接查看Working Set信息可能不准。 另外说一下,当时看到上面Large Page的信息,以为是数据库开启了LargePage,但是使用DBCC TRACSTATUS查看没有开启834 Trace Flag,所以大数据功能是没有启用的。只有开启834 Trace Flag数据库才会真正启用Large Page。 启用Large page在数据库错误日志会看到类似信息: 2009-06-0414:20:4003 Server Using large pages for buffer pool 关于Lock Pages In memory/working set机制我找到了两篇文章,大家有兴趣可以参考: Funwith Locked Pages, AWE, Task Manager, and the Working Set WhySQL Server is using so LESS memory
可能 *** 作时经常超时。 如果是SQL 2005 的话 做一下表分区。一个分区保持在500~900M
然后在打开SQL 的AWE 让内存使用起来
我遇到过的数据库 在SQL 占用 8G内存 数据库文件总共15G 几千万的数据 做了表分区后 超如更改的时间 基本和小型数据库差不了多少
参考
再谈数据库性能提升及搜索优化之一 - 服务器的选择及相关配置
>
1、 主要设置min server memory 和 max server memory ,如果同台服务器有多台吃内存大户服务, max server memory 给设置一个值稍大的值出来,别让SQL server把WINDOWS内存都吃完了也别让其他的服务把WINDOWS内存吃完了,这样才会相安无事2设置方法可以通过命令方式的,楼上的挺好,还有就是通过SQL SERVER企业管理器进行:鼠标右键服务器\属性\内存 可以看多最大内存和最小内存设置选项。
以上就是关于sql server2008r2 内存分配全部的内容,包括:sql server2008r2 内存分配、sqlserver2005怎么设置内存、sql server2008占用进程内存太大,超过正常使用内存,什么 原因等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)