微软最新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架构的应用向下兼容(绝大多数)的基础上,从而获致使用效率的大幅提升,实在是最有价值的解决方案。