关于SQL SERVER 2008 内存使用的疑问
1、win2003 Enterprise Edition + SQL SERVER 2008,都是32位的。
2、内存8G,操作系统的boot.ini已经加上了PAE,用以访问大于4G的内存。
3、SQL SERVER 2008的内存管理勾选了“使用AWE分配内存”
4、服务器只运行SQL SERVER。不重启SQL SERVER,不重启服务器。
5、运行一段时间后观察SQL占用的内存始终在1.7G左右。
6、摘录的介绍“在 Windows Server 2003 中,SQL Server 支持动态分配 AWE 内存。启动过程中,SQL Server 仅保留一小部分 AWE 映射内存。当需要额外的 AWE 映射内存时,操作系统便会将其动态分配给 SQL Server。同样,如果所需的资源较少,则 SQL Server 可将 AWE 映射内存返回到操作系统,以供其他进程或应用程序使用”。
疑问:
1、内存剩余还很多,为什么SQL不继续占用内存呢?
2、SQL是不是会定期把不活跃的内存占用换给操作系统?如果是这样,这个定期是长时间?
3、在32位系统里,是不是单个程序占用内存会被限制在2G以内?
4、我的数据库文件占用磁盘3.7G左右,有没有可能把整个数据库都缓冲到内存中,让平时需要I/O访问的操作都从内存中进行?
5、如果第4点不行,那有没有办法让SQL加大缓冲的空间,以减少I/O的访问,从而提高运行速度?
6、如果不使用AWE,我知道可以通过设置内存最大值来让SQL占用很大的内存,但是这样的运行效果反而很慢,运行程序变得很卡,经常出现连接池满的现象。
望大虾赐教!