微软最新Windows Server 2008 R2 / 以及最新的Microsoft Office SharePoint ( MOSS ) 2010 / Project Server 2010 / Exchange 2010 / Search Server 2010 等几乎全线主流服务器产品已经都不再提供32位的版本了,而且据说下一版的Windows 8也将只有64位版了,可以说64位时代已经真正来临了(尽管从80386时代(1985年)的16位到升级成32位起已经过去了25年,这在IT界已经像是几个世纪那么久了),但最近还是有一些客户在32位与64位选择之间纠结,所以把32位系统支持的最大内存给大家列一下,了解一下末日偷欢的32位系统大限到底在哪里。
32位的Windows 都使用 4 GB 的虚拟地址空间,其中 2 GB 分配给用户模式进程(例如应用程序),另外 2 GB 分配给内核模式进程(例如操作系统和内核模式驱动程序)。系统只能支持4G的物理内存大家是知道的,操作系统保留高位的2G寻址空间以保安全,每个独立应用程序所以寻址的虚拟内存地址是低位的2G,这个可能多数人也知道。
另外,有一些方法可以使X86的应用程序能访问更多的内存空间:
1.服务器版的Windows 2000 、Windows 2003 、Windows 2008等服务器端操作系统可以通过有与硬件相配套的PAE(Physical Address Extension)物理地址扩展来寻址额外的内存,如在boot.in中通过/PAE打开:
操作系统 | 支持 PAE 后的最大内存容量 |
Windows 2000 Advanced Server | 8 GB 的物理 RAM |
Windows 2000 Datacenter Server | 32 GB 的物理 RAM |
Windows XP (所有版本) | 4 GB 的物理 RAM* |
Windows Server 2003 (and SP1) Standard Edition | 4 GB 的物理 RAM* |
Windows Server 2003 Enterprise Edition | 32 GB 的物理 RAM |
Windows Server 2003 Datacenter Edition | 64 GB 的物理 RAM |
Windows Server 2003 SP1 Enterprise Edition | 64 GB 的物理 RAM |
Windows Server 2003 SP1 Datacenter Edition | 128 GB 的物理 RAM |
2.同时服务器版的Windows 2000 、Windows 2003 、Windows 2008等也可以通过打开启动选项的3GB开关(如在boot.ini中/3GB),使单进程的寻址空间达到3G,比未设置的2G多出来1G,不少服务器的应用性能,确实能提升不少(50%)
3.某些特殊的应用有一些绕开操作系统使用内存的绝活,比如Microsoft SQL Server 企业版(2000 2005 2008的32位版都支持)的地址窗口化扩展插件 AWE(Address Windowing Extensions )技术,内存上限与PAE大同小异。
说完了X86转头说说X64,尽管有说法当前的x64并非真正使用64位的地址总线,而是48位,所以内存上限是 2^48。尽管如此,X64内存寻址空间最高可达16TB,而在相关操作系统及处理器搭配之下,应用程序可使用之寻址空间可达8TB,不仅能对诸多应用程序的开发与编译,产生立即而明显的效益,对于一般使用者而言,能够在x86架构的应用向下兼容(绝大多数)的基础上,从而获致使用效率的大幅提升,实在是最有价值的解决方案。
另外有以下建议给商业用户:
1.如果你已经有运行在X86平台的32位历史应用你可以有三个选择:
a.在一个64位系统中为你的X86建立一个虚拟化服务品,比如:在64位的Windows Server 2008 R2中通过Hyper-V安装一台32位的Windows Server 2003的虚拟服务器,并把原有32位应用直接部署到上边,接管原有服务器;
b.严格地测试你原有32位应用在X64平台下的兼容性,如果一切正常,那恭喜你,X64将以牺牲性能帮你做地址转换的方式向你提供原有X32所能提供的一切。BTW,如果是IA64安腾64位,那你就干脆别测试了,Itanium已经是另一个末路狂花了,IA64与X86的应用兼容性极低。
c.等待你的X86应用与服务器颐养天年,安然终老,然后开发全新一代的应用。
2.如果你没有历史包袱:
还在等什么呢?做好进入64位的心理准备了吗,X64的时代已经到来并且成熟了!赶快行动吧!