查看: 26713|回复: 5
收起左侧

[技巧] WindowsXP-32bit识别4G内存方法

[复制链接]
moontree
发表于 2009-10-16 08:27:48 | 显示全部楼层 |阅读模式
  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,是因为显卡使用了一部分物理内存充作显存)。

  再补充两点如下:

  以下两点均要求硬件满足以上第一点中的(1)(2)(3)。

  5. 部分支持PAE技术的32bit操作系统(主要是服务器类系统),例如:

  • Microsoft Windows 2000 Advanced Server

  • Microsoft Windows 2000 Datacenter Server

  • Microsoft Windows Server 2003 Enterprise Edition

  • 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的表现相同。

  另外,虽然使用PAE后,说起来Windows Server 2003 是支持4G了,但实际上还是有限制的。

  一般认为32位的WINXP系统最高只能认到3.25G的可用内存(个别可显示3.5G)。所以能装4G也没有用。还是只用作3.25G,经济合算的办法是最好上3G。

  如果的确要用上4G的内存,推荐用vista、2003、2008、WIN7!

  近日总结出让XP X32支持4G内存方法:

  1.首先检查主板是否支持,下载everest检测软件,在主板-内存一项中,Physical Address Extension(PAE)查看“操作系统支持”“处理器支持”是否为“是”,如果是“否”的话代表主板不支持,不要玩了,如果是“是”的话,“活动”一项是“否”也有可以修改的可能;

  2.我的电脑-属性-高级-启动和故障恢复-设置-编辑,这里编辑操作的是c盘根目录下隐藏的boot.ini文件,各位也可以通过在c盘显示隐藏文件的方法找到它,我的boot.ini里的内容如下:

  [boot loader]
  timeout=5
  default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
  [operating systems]
  multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

  那么接下来在“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect”的表明操作系统的“Microsoft Windows XP Professional ”加上“/PAE”

  即“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /PAE /noexecute=optin /fastdetect”

  这样保存关闭,系统就打开了PAE。

  这样,重新启动后,电脑属性的下方多了“物理地址扩展”几个字,虽然显示的还是3.25G内存,但实际上4G内存已经完全启用了,但怎么证明这一点呢?

  就用ramdisk虚拟硬盘软件来测试ramdisk是一款将内存转换为虚拟硬盘的小软件,内存的速度是硬盘的几十倍,所以可在处理PS等需要大量暂存盘的软件时,通常都会用它来充当软件的暂存盘,这样软件的速度会倍增,在系统没有开启PAE只能识别3.25G内存的情况下,使用ramdisk会直接占用这3.25G的内存,而开启PAE后,用ramdisk设置768mb的内存作为虚拟硬盘,再调出任务管理器,会发现内存使用丝毫没有减少,也就是说,ramdisk调用的768mb内存是系统没有显示出来的768mb,总而言之,系统已经找到了4G内存。

  微软的操作系统内存限制一览表

  凡是写着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
takta
发表于 2009-10-16 11:36:52 | 显示全部楼层
没条件试,先收藏
haizhouhaha
发表于 2009-10-19 23:11:52 | 显示全部楼层
学习了,支持楼主
大金士顿
发表于 2009-10-26 16:13:25 | 显示全部楼层
路过,看看
superxxx
发表于 2009-10-26 19:43:52 | 显示全部楼层
我用的是VISTA 32位系统,在我的电脑属性中显示的是4G内存,在everest检测软件中怎么显示的是3G啊?
ahtclgb
发表于 2009-10-26 19:55:53 | 显示全部楼层
好详细,谢谢分享了。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-12 00:58 , Processed in 0.107928 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表