none
Windows2003 X32的操作系统,支持最大的物理内存是多少? RRS feed

  • 问题

  • 大家好!

          我有一个用户,其硬件服务器配置了50GB的内存,安装了Windows2003 X32 Enterprise的操作系统,我们的应用程序,在运行时,报告“1540()系统错误,该错误为系统资源不足,无法响应应用请求”。但实际上,用户的物理环境配置较高,没有系统资源被占用较多的情况。

          另,据我了解,Windows 2003 X32的操作系统最多能够支持32GB的内存,但是用户现场的Windows2003 x32系统又能够识别到内存为48GB。所以,我有一点怀疑,是在Windows 2003X32 系统平台上的物理内存过大,会不会影响到操作系统的内存管理方面出现问题,导致我们的应用程序出现资源无法正常申请的问题。

          请各位了解这方面的,告知一二,谢谢!



    空空如也
    • 已移动 FrankGuan 2011年4月2日 12:51 (发件人:Systems Management Server)
    2011年3月3日 3:46

答案

  • x86 架构理论上只支持2的32次方,也就是4G的寻址空间,当然也就只能支持4G内存。但是通过PAE (物理地址扩展),Win2003 可以使用36位地址来寻址 (多了4位),理论上的最高上限就变成了64G。

    具体到产品,standard 版,enterprise 版,data center 版它们支持的最大物理内存数量各有不同,具体数目我记不清楚了。建议lz 还是去technet library中去检索权威信息吧。而且更加全面

    物理内存数量超过OS支持能力时,OS只是无法识别而不能使用它,并不会造成什么问题。但是具体到lz的“系统资源不足”问题,虽然OS通过PAE实现了支持大内存,但是x86的32位OS的限制仍然存在,那就是OS为每个运行的应用程序还是分配4G内存空间,其中2G用户空间,2G内核空间,也就是说应用程序实际只能使用2G内存。 PAE的作用只是使得大内存机器能同时运行更多程序了而已,而不是应用程序就自动获得了能使用超大的可用物理内存的能力。 这不是OS和PAE的错,这是应用程序设计和编译器的限制,32位编译器编译出的应用自然只能使用32位地址空间,微软的个别程序,例如SQL server 有AWE (地址窗口扩展)激活AWE,32位的SQL server 就能使用超过4G的地址空间。相当于应用程序本身也要有能力使用超过4G的内存空间。 据我所知,有此能力的只有SQL server一个。 所以建议lz 还是上x64 系统吧。

    lz 还是去technet library 文档库中搜 "企业内存架构" 和  Win 2003 硬件支持能力列表吧。说的很详细。  Win 2003 server 版讨论这个问题讨论很多次了,我和其它很多网友也曾经在那里发了很多遍。

    2011年4月2日 12:50