如何在 Windows 7(32 位)上启用 PAE 以支持超过 3.5 GB 的 RAM?

Nip*_*oet 37 memory windows-7 computer-architecture pae cpu-architecture

我知道可以通过PAE配置 Windows XP 32 位以支持超过 3.5 GB 的 RAM。是否有使用 Windows 7 32 位执行此操作的好教程?

至于为什么我不简单地使用 64 位 Windows 7:我的 Internet 连接软件(手机作为调制解调器)只能在 32 位环境中运行。

Bre*_*ugh 25

几年前,一群程序员发布了 Windows 7 内核补丁,允许在 Windows 7 下使用超过 4 GB 的内存。 最近,由于一些病毒扫描程序检测到该补丁为误报,下载是从网站上删除。幸运的是,我保存了补丁的副本(使用 RTM Windows 7 内核),并将其上传到我的网站(当我讨论修补 Windows 内核的两种方法时,请参阅选项 #1)。此外,作者还发布了有关如何手动修补内核的说明

即使你有 Windows 7 SP1 (Build 7601),你也可以安装包含内核 7600 的补丁。这是因为你的默认内核没有被修改;一个新的被复制到您的系统文件夹中,并添加了一个额外的启动菜单选项,以使用新的、打过补丁的内核而不是旧的内核来启动 Windows。虽然我没有发现使用旧内核运行 Windows 7 SP1 的任何问题,但如果您确实希望使用 7601 版本ntkrnlpa.exe,则需要手动修补您的内核(请参阅上面的链接)。


该补丁基本上将 Windows 7 内核修改为更像 Windows Server 2003 数据中心版,在 32 位模式下兼容高达 8 GB 的 RAM。这允许您在 Windows 7 32 位下将 PAE 很好地扩展到 8 GB 的 RAM。有关 Microsoft 实施此技术限制的更多信息,请参阅32 位 Windows Vista 中的许可内存(需要来自www.geoffchappell.com 的JavaScript 允许)。

如上所述,请注意,即使系统可以访问更多内存,单个进程仍将被限制为 4 GB...尽管如果您有 8 GB 的 RAM,那么至少您还有 4 GB 用于其他进程;)


对于那些对技术方面感兴趣的人,这是因为内存映射输入/输出(简称 MMIO)。这允许 CPU通过地址总线本身访问外设RAM。通常这是通过高阶内存地址来完成的,以避免低阶地址冲突。然而,这在 32 位 Windows 操作系统的所有消费者变体中产生了众所周知的3 GB 内存屏障

  • 警告:第一个链接有一些 NSFW 内容。 (4认同)

Dav*_*ebb 17

Microsoft 的 MSDN 站点上的这篇文章显示了 Windows和 Windows 7 32 位版本的内存限制被列为 4 GB 限制。

在 Windows XP 中,您曾经可以使用 PAE 来查看超过 4 GB 的 RAM,但此选项在 Service Pack 2 中被禁用

原因是大多数司机不知道 PAE,如果他们的玩具最终出现在超过 4 GB 边界的内存中,他们就会把他们的玩具扔出婴儿车。

如果您/PAE现在在 Windows XP 上使用该开关,您将使DEP可用,但您将无法看到超过 4 GB 的 RAM。

对于 32 位 Windows 7,此 4 GB 限制仍然存在。如果您想查看超过 4 GB 的 RAM,则必须使用 64 位版本的 Windows。

(使用 PAE 来查看超过 4 GB RAM 的选项在 32 位服务器版本的 Windows上仍然可用,我认为这取决于您运行 Windows Server 的硬件类型所期望的更高质量的驱动程序。 )

  • 我认为服务器支持较少是因为更好的驱动程序质量,而更多是因为系统管理员将能够比妈妈更好地处理这种情况。 (2认同)
  • 伟大的 Mark Russinovich 在他的“Pushing the Limits of Windows”系列博文中解释了 Windows 下客户端和服务器内存限制背后的基本原理。http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx (2认同)