sql-server – SQL Server 2005(32位)的双实例是否允许我使用>
有人在具有16GB RAM的64位操作系统上安装了32位版本的MS SQL Server 2005. SQL Server的两个实例正在运行,但每个进程仅使用大约1.7GB的RAM.合并后,这相当于大约3.2GB,或32位应用程序的硬限制.
我想弄清楚为什么每个实例都没有使用它自己的3.2GB最大地址空间? 解决方法SQL Server将根据负载使用更多RAM.也许这些实例的负载不足以驱动更多的内存使用?或者有人在实例中设置了最大内存限制?
首先,Windows上的任何进程都没有3.2GB的内存限制.进程内存地址空间不受硬件RAM限制的限制(类似于3.2GB的数字听起来更像:硬件细节,包括需要内存映射IO的设备,取自基本的4GB限制). Windows中32位进程的最大可用地址空间取决于三个方面:主机的位数,“/ 3G”boot.ini flag1以及可执行文件是否已使用“Large Addresse Aware”标记构建(SQL Server 2008当然具有基于这里的快速检查): >如果exe不是使用Large Address Aware标志构建的:2GB >在没有任何boot.ini标志的32位操作系统上:2GB 在您的情况下:每个32位SQL Server实例可以在需要时使用4GB的地址空间,并且不受其他限制. 1根据选项开关,可以将其设置为2GB到3GB之间的各种值,但这只会改变一种情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |