Windows Vista是一款相当耗费资源的操作系统,特别是内存。从某种意义上说,要提升运行Windows Vista的系统性能,最简单也最有效的方式便是为系统扩充尽可能多的内存。那么,Windows Vista最高能支持多少物理内存呢?
根据微软给出的规格,除Starter版仅支持1GB内存外,其他版本的Windows Vista(32位)均能够支持4GB的“内存”——当然,指32位x86系统,64位Windows Vista x64也没有对应的Starter版本——不过,需要注意的是,这里所谓的“4GB”并非等同于真正的物理内存,而是指可用的内存寻址空间。
相信有计算机基础的用户都清楚,对32位系统而言,4GB是其能够寻址空间的极限,除非通过PAE(Physical Address Extension : 物理地址扩展)将4GB之上的内存通过映射的方式作为4GB空间中的页面来扩展。而在这4GB的地址空间中,必须为计算机的系统资源如BIOS、显卡、PCI-Express等PCI接口留出位置。
让我们简单地看一下Windows Vista x86所支持的4GB寻址空间都包括哪些:首先,BIOS至少要占去512KB,当然,这是一个很小的数字;其次,显卡要占去略大于其视频RAM的空间,比如说,对于希望在高分辩率下使用Aero Glass的情况而言,256MB显存是必需的,这也意味着必须在4GB的寻址空间中为显卡的256MB视频RAM留出位置;第三,对基于x86的计算机系统而言,其还必须为其他的PCI设备保留相当部分的寻址空间,比如各种IO设备等。这样,Windows Vista在寻址真正的物理内存之前,系统中已经被各种资源占用512MB到1GB的寻址空间,也即是说,Windows Vista真正能够使用的物理内存大致在3 GB到3.4 GB之间。
这对于象Windows Vista这样一款以1GB RAM越跳的系统而言,系统内存的可扩充空间实在太小,尤其与当年Windows XP 128MB-4GB的内存范围相比。而且,虽然Windows Vista X86从内核上来说应该是能够支持PAE的,但似乎目前微软并没有相应的计划。也许,Windows Vista会在今后以Service Pack方式引入对PAE的支持?——当然,也需要硬件厂商特别是CPU、芯片组与主板厂商的配合。
另一方面,狂炒几年的桌面64位技术尽管并未给最终用户带来太多真正意义的好处,但负面影响则是巨大的:那便是软件开发商越来越习惯了“奢侈”地使用内存资源,以前那种在以较少的内存下实现尽可能多功能的“精致”设计越来越少见,或者说,内存总是至少不是软件开发商关注的重点,从而出现了动辄需上百兆甚至过GB内存才能保证运行的程序。而在32位的Windows系统——不仅仅Windows Vista——中,所支持的4GB寻址空间被分成两部分:其中2GB可被应用程序使用,而另外的2GB则被系统内核占用。因此,即使对于系统中安装了4GB内存的Windows Vista而言,应用程序所能够使用的内存也被限制在2GB之内,从而在某些情况下仍难免会出现“内存不足”的情况。对此,虽然可以通过微软的4GT RAM Tuning来将内核的内存起始位置移至3GB处——以在Boot.ini中添加“/3GB”开关实现,即将为内核分配的虚拟地址空间缩小到1GB,而将应用程序可使用的地址空间扩展到3GB——但距理想程度仍有距离。
当然,如何系统硬件支持64位,问题就好办多了,Windows Vista x64可支持的内存从8GB(Windows Vista Home Basic)到128GB(Windows Vista Ultimate),类似的寻址限制不复存在。