32位系统支持大内存诸多问题

时间: 2009-09-27 / 分类: 硬件数码 / 浏览次数: 3,940 views / 47个评论 发表评论

大内存时代这两天与似水无痕同学探讨了一个纯学术性的问题,就是32位系统到底能够支持多少的内存。刚开始我俩各执一词,都觉得自己掌握了真理,后来查找了一下资料,发现我们只是分别揭开了真理的半边面纱而已。

如今计算机发展已进入了大内存时代,不过32位系统已经从根本上制约了内存的增加,因为32位的系统,其寻址空间只能限制在2^32位=4GB之内,除掉系统占用的那些地址,能够寻址的内存空间大约只有3.25-3.75GB之间。这也正是我前几天毅然放弃32位安装了64位系统的原因,虽然32位系统可以识别4GB内存,不过却不能让它们完全派上用场。可惜的是我发现大部分常用程序还是运行在32位兼容模式下的,只有部分的软件提供了64位版本。不过这也足以让我欣慰了,毕竟所有内存空间终于派上用场了。

讨论

其实微软早就在 Windows 2003 时候,在服务器和数据仓库版本的系统中,通过一种叫做AWE(Address Windowing Extensions)的技术,通过动态映射的方式,将能够直接寻址的内存空间之内的地址,映射到32位系统能够直接寻址的3.X内存之内,间接的实现了32位系统对大内存的支持。

下面是网络上查到的资料

1、理论上32位系统理论上只能支持最高4G内存吗?
答:看起来是这样没错,但微软已经告诉我们事实并非如此--企业版、数据中心版的Windows分别支持最大32G和64G内存。

2、我的计算机有4G内存,可为什么系统告诉我内存只有3.x G?
答:由于部分主板芯片组将其他硬件的物理地址映射在4G内存地址内进行管理,使得这些计算机通常能识别并使用最大内存容量在3.25-3.75G之间。如果要让系统识别出完整的4G内存,你的主板必须支持一种叫做"PAE(物理地址扩展)"的技术。

3、我的主板支持PAE,为什么还是无法使用全部的4G内存?
答:这是因为操作系统的限制,目前32位的Windows里,只有服务器版本(2003/2008)支持4G或以上的内存(Windows Server 2003 Web版只支持2G内存),并且需要在系统的启动项末尾添加/PAE选项(在boot.ini中编辑)。

4、32位系统下,单个进程能够访问的内存最大是多少?
答:32位Windows操作系统下单个进程用户模式内存访问的限制是2G,如果在boot.ini中设置了/3G开关,则最大为3G,超过3G将无法访问。

5、如何让单个进程访问大于2G/3G的内存?
答:32位操作系统下只有通过 AWE的方式来扩展内存。AWE (Address Windowing Extensions)是 Windows 的内存管理功能的一组扩展,它使应用程序能够使用的内存量超过通过标准 32 位寻址可使用的 2-3 GB 内存。AWE 允许应用程序获取物理内存,然后将非分页内存的视图动态映射到 32 位地址空间。虽然 32 位地址空间限制为 4 GB,但是非分页内存却可以远远大于 4 GB。这使需要大量内存的应用程序(如大型数据库系统)能使用的内存量远远大于 32 位地址空间所支持的内存量。
(下图所示AWE 实际上就是将用户模式下的32位内存地址映射到用户需要访问的物理内存上去。不同操作系统运行被映射的物理内存大小是不一样的。)

AWE

Powered by Zoundry Raven

Del.icio.us : ,
Technorati : ,

分享 |

47个评论

  1. Hobo
    2009/09/27 19:56:53

    一看,立刻明白了

    [回复]

    Louis Han 回复:

    @Hobo, 很简单的道理 呵呵

    [回复]

  2. phenix
    2009/09/27 20:06:29

    太深奥了

    [回复]

    Louis Han 回复:

    @phenix, 好像只是几个算术题吧,不算深奥 O(∩_∩)O~

    [回复]

  3. engic
    2009/09/27 20:13:17

    这个问题以前模模糊糊的大概了解,没想这么清楚,我家电脑本身就是32位……太老了,看了以后明白了为什么服务器支持大内存了。

    [回复]

    Louis Han 回复:

    @engic, 要从根本上支持大内存,还是要64位系统的

    [回复]

  4. XJP
    2009/09/27 20:20:39

    反正就是理论上不超过4G,普通用户或者游戏玩家应用64位操作系统的另外一个重要障碍来自于应用程序的兼容性问题,大多数软件可以在64位环境下运作良好,但是仍然有相当数量的游戏和应用程序存在兼容性问题,如果要迎来64位时代,应用程序必须第一个做好准备。

    [回复]

    Louis Han 回复:

    @XJP, 是啊,我现在用64位系统,但大部分软件还是32位兼容的

    [回复]

  5. A.shun
    2009/09/27 20:45:21

    研究得挺透彻嘛
    不过就目前的程序来说3G和4G其实差距不大
    可以用剩下的1G来做虚拟盘
    放cache,可以稍微加快读取速度和保护硬盘

    [回复]

    Louis Han 回复:

    @A.shun, 我的已经有迅盘了,不需要内存做cache

    [回复]

  6. SunQ
    2009/09/27 21:00:17

    学术!
    我的电脑不需要支持大内存,因为我的内存才1.5G……

    [回复]

    Louis Han 回复:

    @SunQ, 升级一下吧 哈哈 那么便宜

    [回复]

  7. 唯美国度
    2009/09/27 21:09:27

    见过关于这个的文章,感觉吧,这个内存对电脑的影响不是那么明显,把虚拟内存调一点,应付一般的东西没问题的

    [回复]

    Louis Han 回复:

    @唯美国度, 虚拟内存毕竟速度比内存慢的太多了

    [回复]

  8. wayne
    2009/09/27 21:09:44

    好像这个和芯片组也有关系的,fsb 667mhz只能支持到3g

    [回复]

    Louis Han 回复:

    @wayne, ⊙﹏⊙b汗,第一次听说这种观点,好像不符合科学。。。

    [回复]

  9. 无疆
    2009/09/27 21:13:47

    我的电脑好像最大支持4G内存,现在是2G

    [回复]

    Louis Han 回复:

    @无疆, 是啊,跟主板有一定关系

    [回复]

  10. zwwooooo
    2009/09/27 21:19:59

    老问题了,32位就别上4G内存,应该也不是这样定义,应该是win2003下的32位操作系统就别上4G内存,上了也没用

    [回复]

    Louis Han 回复:

    @zwwooooo, 不管什么系统32位的都用不上4G,Win7也是

    [回复]

  11. SunQ
    2009/09/27 21:46:07

    据说最近内存涨钱……
    而且,我也没钱了

    [回复]

    Louis Han 回复:

    @SunQ, 就算涨钱不过百多块钱的东东。。。

    [回复]

  12. kevinsnow
    2009/09/27 22:06:23

    我覺得現在2G內存足夠了
    曾經裝過64位的WIN7 沒特別研究過

    [回复]

    Louis Han 回复:

    @kevinsnow, 2G内存确实基本上够用了

    [回复]

  13. mfkof
    2009/09/27 22:38:25

    32位认不了的部分就虚拟成磁盘用了吧···

    [回复]

    Louis Han 回复:

    @mfkof, 已经有迅盘了,不需要再增加虚拟的cache了

    [回复]

  14. SunQ
    2009/09/27 22:50:06

    百十块钱对于我来说,也是一笔很浩大的数额呀

    [回复]

    Louis Han 回复:

    @SunQ, ⊙﹏⊙b汗
    学生啊,呵呵?

    [回复]

  15. SunQ
    2009/09/27 22:52:49

    呃……不是学生,最近在装修房子……

    [回复]

    Louis Han 回复:

    @SunQ, 有房一族,羡慕啊~
    装修的怎么样了?

    [回复]

  16. nicidoggy
    2009/09/27 22:58:57

    技术流。。。。。。。

    [回复]

    Louis Han 回复:

    @nicidoggy, 一般常识而已~

    [回复]

  17. derek
    2009/09/27 23:34:40

    没用过64位的系统,首先硬件就不支持了

    [回复]

    Louis Han 回复:

    @derek, 那就很痛苦了 呵呵

    [回复]

  18. SunQ
    2009/09/28 22:00:30

    差不多了,就差入住了

    [回复]

    Louis Han 回复:

    @SunQ, 恭喜恭喜,恭贺乔迁之喜啊!

    [回复]

  19. 风也飘泊
    2009/09/30 17:16:09

    要是我平时使用的这些软件儿,都宣布支持64位了的话,那我就用64位去了

    现在想用也用不了

    [回复]

    Louis Han 回复:

    @风也飘泊, 64位系统可以支持32位软件兼容使用

    [回复]

  20. beyonndme37
    2011/09/08 09:46:10

    昨天加内存来着,本来想买个4G的,加上原来的2G,应该够用了。后来才发现32位的只能识别4G……

    [回复]

    Louis Han 回复:

    @beyonndme37, 32位只能支持3.25G

    [回复]

    beyondme37 回复:

    @Louis Han, 嗯,是3G,但我笔记本只能识别2.99G

    [回复]

评论分页: 1 2

发表评论

您的昵称 *

您的邮箱 *

您的网站