Board logo

标题: [软件] 关于4GB内存的讨论 ZT自THINK 我思故我在 [打印本页]

作者: bobwu    时间: 2007-12-7 14:23     标题: 关于4GB内存的讨论 ZT自THINK 我思故我在

首先在微软的网站上关于4GB内存限制问题有一篇技术文档:
http://support.microsoft.com/kb/929605/en-us

总结一下,大致可以归纳为以下几点:

1. 要在PC中使用超过4GB的内存,需要同时满足以下若干条件
(1)主板配置有支持至少8GB内存寻址的芯片组(例如Intel P965/P975)
(2)CPU支持X64指令集(例如Intel Core2处理器)
(3)BIOS支持memory remapping
(4)使用64bit的操作系统(或支持物理内存扩展技术的32bit操作系统)

2. Intel 945芯片组或更早期的芯片组,受到32bit的限制,最大只能寻址到4GB,也就是说只能访问4GB以内的地址。但是这4GB地址并不是完全留给内存使用的,与此同时,各种接口、IO设备都还需要分配大量的寻址空间(例如显卡通常就要占用数百MB),所以最后留给系统物理内存这一硬件的寻址空间,就只剩下3GB多一些。而操作系统也只能识别到这么多的物理内存。因此,如果PC系统的硬件达不到以上第一点中的(1)(2)(3)条时,即使在系统中安装超过4GB的内存,能够被识别的物理内存也只有4GB,而留给操作系统使用的只有3GB多一些。

3. 操作系统对识别的内存数也有影响。32bit的操作系统只具备4GB的寻址能力,即使硬件满足上述使用4GB内存的条件,限于操作系统的寻址空间限制,必须要保留数百MB的寻址空间给各种接口和IO设备,因此操作系统仍然最多只可以用到3GB多一些的物理内存。而64bit的操作系统下,因为把各种接口和IO设备所占用的地址空间移到更靠后的地址段,因此4GB物理内存可以完全寻址,也就是完全识别使用。再延伸一下,同理可以推断,假设某64bit操作系统的最大寻址能力是8GB,而系统安装了8GB的物理内存,那么操作系统可以识别并使用的内存也就是7GB多一些。

4. 我自己找了一台ThinkCentre M55(Intel 965芯片组)并安装了4GB内存,然后分别安装了Vista 32bit、Vista 64bit、Ubuntu Linux 32bit和Ubuntu Linux 64bit进行测试,从结果来看验证了上述观点。大家可以看我自己截的几张图。(备注:截图中64bit操作系统显示内存数量接近4GB而不是正好4GB,是因为显卡使用了一部分物理内存充作显存)。

补充:根据黑友“bobww”提供的信息,再补充两点如下:

以下两点均要求硬件满足以上第一点中的(1)(2)(3)。
5. 部分支持PAE技术的32bit操作系统(主要是服务器类系统),例如:
[td]Microsoft Windows 2000 Advanced Server
[td]Microsoft Windows 2000 Datacenter Server
[td]Microsoft Windows Server 2003 Enterprise Edition
[td]Microsoft Windows Server 2003 Datacenter Edition
可以通过启用PAE功能来支持4GB或者更多内存。参见微软知识库:
http://support.microsoft.com/kb/283037/zh-cn
而32bit的Linux通过在内核中配置支持Large Memory Support,也可以支持4GB内存。
(关于这一点,我还没有测试证实,如果有时间会试试看。)
关于微软操作系统支持内存的上限,可以参见我之前发布的文档:
http://thinklenovo.spaces.live.com/blog/cns!277BF25C1053199D!1289.entry

6. 至于32bit的Windows XP,在升级到SP2之前可以使用PAE技术使用到4GB内存,但是升级到SP2之后,由于微软限制,即使开启PAE,系统也只能显示3GB左右的内存容量。参见微软知识库:
http://support.microsoft.com/?scid=kb%3Ben-us%3B888137&x=15&y=12
(关于XP SP2之前版本的情况,我也还没有测试证实,如果有时间也会试试看。)
另外我在32bit的Vista上测试了强制启用PAE的情况,结果和不启用PAE没有差别,与XP SP2的表现相同。

作者: stuca    时间: 2007-12-7 15:01

沙发。
作者: clamon    时间: 2007-12-7 15:42

顶。。。2G我就满足了。。。
作者: chengxyt    时间: 2007-12-7 18:06

那我就地板了...
作者: bitiom    时间: 2007-12-7 22:36

科技的力量是无止境的。
作者: moreal    时间: 2007-12-8 09:01

长见识了,不愧为lenovo工程师做出的解释。
作者: clamon    时间: 2007-12-8 10:01

这个问题以前在微型计算机某几期有讨论,不过当时讨论的是AMD CPU的相关芯片组,我还以为INTEL的芯片组都能幸免,无此问题呢
作者: Jacky6610    时间: 2007-12-9 09:42

本本加到(1+2)3G的内存对系统提升性能大不大呀,网上的介绍好像很少
作者: シャア    时间: 2007-12-10 16:36

原帖由 Jacky6610 于 2007-12-9 09:42 发表
本本加到(1+2)3G的内存对系统提升性能大不大呀,网上的介绍好像很少


这种说法只是在某些情况下有用

内存这东西小了肯定不行,大了也未必好
MS在脸盆里抓条鱼肯定比在河里方便,~~但是如果有一缸鱼脸盆里又放不下~~个人觉得差不多就是这个道理
而且过多的内存还比较费电,貌似是这个道理
\
所以个人的观点是  用多少 配多大
作者: bobwu    时间: 2007-12-10 18:08

個人覺得內存越大越好。用不了了就在裏面開個虛擬硬盤。
作者: chengxyt    时间: 2007-12-10 18:25

原帖由 bobwu 于 2007-12-10 18:08 发表
個人覺得內存越大越好。用不了了就在裏面開個虛擬硬盤。


以后 OS 装內存里算了
作者: yalunkong    时间: 2007-12-10 18:29

原帖由 chengxyt 于 2007-12-10 18:25 发表


以后 OS 装內存里算了

这是IBM的努力方向之一:静态内存
作者: zhanghh    时间: 2007-12-10 19:01

两g的也就只有建个虚拟硬盘,怎么用也感觉有将近一个g的没有用,不过就是爽了不少,挂了几个qq,msn,上网,看电影,玩实况,一点问题都没有。还是大了好,不过大了不知道怎么用了
作者: bobwu    时间: 2007-12-10 19:03

原帖由 zhanghh 于 2007-12-10 19:01 发表
两g的也就只有建个虚拟硬盘,怎么用也感觉有将近一个g的没有用,不过就是爽了不少,挂了几个qq,msn,上网,看电影,玩实况,一点问题都没有。还是大了好,不过大了不知道怎么用了

我一般都是开BT,缓存用768M。
作者: pikechen    时间: 2007-12-12 12:50

2G内存然后把虚拟内存关了,程序切换好快,不过开几个虚拟机就不照了……
作者: therichard    时间: 2007-12-12 21:09

按照楼主介绍的情况,现在买的本本估计以后升级内存也不太可能了
作者: bobwu    时间: 2007-12-12 21:14

原帖由 therichard 于 2007-12-12 21:09 发表
按照楼主介绍的情况,现在买的本本估计以后升级内存也不太可能了

搞到4G就完了
作者: issp2008    时间: 2007-12-15 07:14

等几天出个补丁, 一个槽能插64g
作者: therichard    时间: 2007-12-15 13:56

我看有些X61的资料里面写,最大支持内存4G,看来这句话不太准确啊。
作者: bobwu    时间: 2007-12-15 14:03

原帖由 therichard 于 2007-12-15 13:56 发表
我看有些X61的资料里面写,最大支持内存4G,看来这句话不太准确啊。

965单根插槽最大就是2G,4根插槽8G。
作者: therichard    时间: 2007-12-15 14:16

也就是说,X61只有两个插槽,所以确实最大4G;而T61有四个插槽,所以是8G?
作者: stuca    时间: 2007-12-15 14:40

原帖由 therichard 于 2007-12-15 14:16 发表
也就是说,X61只有两个插槽,所以确实最大4G;而T61有四个插槽,所以是8G?

T61也是两个槽,目前最大也只能装4G。
作者: therichard    时间: 2007-12-16 02:04

以后通过比如说BIOS升级的方式,可以让每个内存插槽支持4G吗?
作者: bobwu    时间: 2007-12-16 02:43

原帖由 therichard 于 2007-12-16 02:04 发表
以后通过比如说BIOS升级的方式,可以让每个内存插槽支持4G吗?

芯片组不支持2G的,怎么搞都没用,除非象台机一样搞4个内存槽,但这是不可能的。
作者: therichard    时间: 2007-12-16 10:29

结论:这贴与现在的本本基本没关系。
作者: qqiiluo    时间: 2008-3-28 14:00

我看了x61的BIOS,memory里面只有一项是extended memory test,和(3)中的memory remapping是不是一样的?




欢迎光临 NBCLUB笔记本电脑俱乐部 合肥THINKPAD APPLE LENOVO DELL专卖店 (http://nbclub.net/DISCUZ/) Powered by Discuz! 7.2