近一段时间陆续收到一些客户说安装了4GB内存的T60或X60,Windows中显示内存只有3GB,质疑是不是ThinkPad产品质量有问题。
这个问题倒也不是什么新问题,因为自T60开始ThinkPad确实就支持4GB内存了,而且,对于一个32位的硬件平台,4GB也已经是上限了。但是,用户用不用得了全部的4GB内存,那却是另一个问题。
这“另一个问题”就是操作系统的寻址能力。很遗憾的是,并非所有的操作系统,都能够对4GB物理内存的情况提供良好的支持。以大家最常使用的32bit版的Windows XP为例,3GB~4GB这一段地址空间就是被系统保留使用的,大致的分配如下(注意这是寻址空间的占用):
1) PCI Express需要占用256MB
2) 如果使用整合显卡,也要占用256MB
3) USB、以太网、音频控制器、ATA控制器和其它I/O设备也需要占用若干地址
4) 某些PCI设备也会占用空间
因此,Windows XP真正控制的物理内存空间,实际上只有3.0~3.2GB左右。Windows 2000也是如此。而早期的Win9x/Me系统,更是惨到只能寻址512MB。
微软为解决这一问题,引入了PAE(Physical AddressExtension)技术,这样可以使寻址能力从32bit提升到36bit,就可以寻址全部的4GB内存。但是自Windows XPSP2之后,微软又做了一点小手脚,如果启用了PAE,系统信息中的显示的内存数量就会下降3GB左右。之所以会变成这样,微软称是为了提升系统的兼容性。微软对此问题的详细解释,可以参见:(建议看英文版的,微软那个中文机器翻译的质量实在不怎么地)
http://support.microsoft.com/kb/888137/zh-cn
下表是微软的操作系统内存限制一览表。凡是写着4GB的,那操作系统中显示的就是3GB左右。要突破这一限制,比较理想的方法,恐怕只能换成64bit的系统平台了。
Physical Memory Limits
| 32-bit Windows
| 64-bit Windows
|
Windows XP Starter Edition
| 128 MB
| N/A
|
Windows XP
| 4 GB
| 128 GB
|
Windows Server 2003, Web Edition
| 2 GB
| N/A
|
Windows Storage Server 2003
| 4 GB
| N/A
|
Windows Storage Server 2003, Enterprise Edition
| 8 GB
| N/A
|
Windows Server 2003, Standard Edition
| 4 GB
| 16 GB
|
Windows Server 2003, Standard Edition SP1
| 4 GB
| 32 GB
|
Windows Server 2003, Enterprise Edition
| 32 GB
(16 GB with 4 GT RAM tuning)
| 64 GB
|
Windows Server 2003, Enterprise Edition SP1
| 64 GB
(16 GB with 4 GT RAM tuning)
| 1 TB
|
Windows Server 2003, Datacenter Edition
| 128 GB
(16 GB with 4 GT RAM tuning)
| 512 GB
|
Windows Server 2003, Datacenter Edition SP1
| 128 GB
(16 GB with 4 GT RAM tuning)
| 1 TB
|
Windows Vista
| 4 GB
| 128 GB
|
Windows Server Longhorn
| 4 GB
| 32 GB
|
Windows Server Longhorn, Enterprise Edition
| 64 GB
| 1 TB
|
Windows Server Longhorn, Datacenter Edition
| 128 GB
| 1 TB
|