未识别内存支持 - 如何在32位Windows下完全使用4G或更多内存

如今内存的价格越来越低,因此越来越多的用户开始为计算机配备4G或更多的内存,以希望达到更快的速度。然而由于32位架构的限制,完全访问4G或更多物理内存需要有硬件支持:CPU支持物理地址扩展(PAE),北桥芯片支持内存重映射(Memory Remapping)(关于这两项请参考其它技术文档)。即使硬件已经满足条件,操作系统也有可能限制了大容量内存的完全使用。下表列出了32位Windows不同版本所支持的最大物理内存(开启PAE)。

操作系统 (32-bit) 最大支持物理内存(开启PAE)
Windows 2000 Advanced Server 8 GB of physical RAM
Windows 2000 Datacenter Server 32 GB of physical RAM
Windows XP (all versions) 4 GB of physical RAM*
Windows Server 2003 (and SP1), Standard Edition 4 GB of physical RAM*
Windows Server 2003, Enterprise Edition 32 GB of physical RAM
Windows Server 2003, Datacenter Edition 64 GB of physical RAM
Windows Server 2003 SP1, Enterprise Edition 64 GB of physical RAM
Windows Server 2003 SP1, Datacenter Edition 128 GB of physical RAM

* 物理地址空间大小限制在4G

VSuite Ramdisk 提供了“系统未识别内存支持”功能,帮助用户充分使用被系统“丢失”的物理内存。

以下详细介绍如何使用系统未识别内存。示例中的计算机安装了8GB的内存,操作系统为32位Windows XP。先通过Windows的任务管理器查看内存使用信息。可以看到,系统仅识别到3582MB,可用物理内存剩余2975MB。(注:以下示例中均使用 VSuite Ramdisk 服务器版)

步骤 1. 进入杂项页面,选中“启用系统未识别的内存”,开启这项功能。启用后,会在下面显示当前未识别内存的总容量。这里未识别内存的容量是4604MB。

如果计算机或操作系统不支持,这个选项则变灰色,无法选中。

步骤 2. 进入内存虚拟硬盘页面,选中“优先使用系统未识别内存”。选项旁边显示了当前可用的未识别内存容量和未识别内存总容量。用户可创建比可用未识别内存大或小的虚拟硬盘,如果虚拟硬盘的容量大小比可用未识别内存大,不足部分将占用系统识别的物理内存。这个例子中,我们使用全部的可用未识别内存。

步骤 3. 设置其它属性,点击“创建”按钮创建新的虚拟硬盘。(参考如何创建虚拟硬盘

创建完成后,我们再次检查可用物理内存,发现是2963MB,几乎和创建之前的数值一致。这意味着新创建的虚拟硬盘并没有占用系统管理的内存。通过这种方式,系统未识别的那部分内存得到充分利用。

在虚拟硬盘创建后,用户可以修改属性以启用或禁用系统未识别内存。进入属性模式,可以看到虚拟硬盘使用的未识别内存大小。如果需要改为使用系统管理的内存,则去掉“优先使用系统未识别内存”选项的勾选,点击“修改”按钮。在计算机重启后,新的设置生效。

注意事项(重要)

1. 请先检查计算机硬件是否支持系统未识别内存特性。通常对于Intel芯片组,需要946系列芯片组或以上才支持,945系列芯片组或以下不支持。对于NVIDIA芯片组,需要nForce 550芯片组以后。

2. 确定操作系统已经启用PAE支持,否则软件会提示“您的计算机或操作系统不支持PAE特性”。请参考启用PAE支持

3. 不要使用类似软件同时操作这部分内存,这可能会引起冲突。部分显卡驱动可能也会使用未识别内存,可以通过保留系统未识别内存的功能来避免冲突,参考未识别内存保留

4. 如果开启了操作系统的休眠功能,请勿将系统页交换文件(pagefile.sys)放在由系统未识别内存生成的虚拟硬盘,否则可能导致系统从休眠状态恢复时蓝屏。不过可放在由系统可识别内存生成的虚拟硬盘。此外,用户需要启用未识别内存休眠支持

5. 如果遇到开启未识别内存支持后,系统无法正常启动的情况,可以进入系统安全模式下恢复设置。(适用于 VSuite Ramdisk 的任何版本)