什么是未识别内存?

随着内存条容量增大和价格走低,越来越多的用户为计算机配备 4 GB 或更多的内存,以期望达到更快的速度。然而由于32位计算机架构和 Microsoft 市场策略的限制,您可能无法使用全部的物理内存,即使在64位操作系统上也是如此。要了解您的 Windows 操作系统支持的最大物理内存,请访问 Windows 和 Windows Server 版本的内存限制。如果您的 Windows 可以支持所有已安装的物理内存,您可跳过本文。

下图显示了一个在32位 Windows 操作系统中常见的示例。在此例中,操作系统为 32-bit Windows 7,计算机安装了 6 GB 的物理内存。但 Windows 仅支持使用 3.25 GB 内存,其余 2.75 GB 内存则无法使用。这部分“丢失”的内存称为未识别内存 (也称为隐藏内存或非托管内存)。

为了完全使用安装的物理内存,我们提供了未识别内存管理接口(UIMMI)来管理和使用未识别内存。支持 UIMMI 的产品,比如 Primo Ramdisk 或 PrimoCache,可以检测和使用未识别内存来运行产品特定的功能,比如用于创建内存虚拟盘或用于硬盘缓存。

未识别内存的软硬件支持

使用未识别内存需要计算机硬件和软件的支持。首先,CPU 必须支持物理地址扩展(PAE),并且主板必须支持内存重映射。如今几乎所有的计算机都支持这些特性。但如果您的计算机生产日期比较早,特别是 2007 年前的计算机,则需要注意检查硬件是否支持。最早能支持未识别内存的主板芯片组是 Intel 946 芯片组或 NVIDIA nForce 570。在这之前的芯片组比如 Intel 945 芯片组不支持未识别内存。

其次,您的 Windows 操作系统必须启用 PAE 支持。默认状态下,如果计算机开启了数据执行保护(DEP)或配置为在超出 4 GB 内存地址上支持热添加内存,Windows 会自动启用 PAE 支持。否则您需要手动启用 PAE。如果您的 Windows 尚未启用 PAE,请尝试以下步骤启用。

  1. 对于 Windows Vista 和其后的操作系统,以管理员身份打开命令提示符,然后键入以下命令。

    bcdedit /set pae ForceEnable

    对于 Windows Server 2003 和 Windows XP/2000,找到并打开 Boot.ini 文件,然后找到当前操作系统对应的行,并在该行末尾附加 /PAE 。点击此处查看如何编辑 Boot.ini 文件。

  2. 重启计算机使改动生效。

注意事项

  • 由于未识别内存不被 Windows 管理,为了避免内存访问冲突以及由此引起的意外行为,应确保只有一个应用程序在使用未识别内存,除非所有使用未识别内存的应用程序都支持 UIMMI。
  • 如果您使用未识别内存创建了一个虚拟硬盘并在其上设置了系统页面文件(pagefile.sys),则必须禁用 Windows 休眠。否则当计算机从休眠状态恢复时,可能出现蓝屏等异常。
  • 绝大多数情况下,启用未识别内存并不会对系统造成严重影响。但如果您遇到开启未识别内存后无法启动系统的情况,您可以通过启动进入 Windows 安全模式来恢复设置。
标签