有没有办法使用 Windows XP 中的 3.25GB 以上的内存

有没有办法使用 Windows XP 中的 3.25GB 以上的内存

32 位 Windows XP 有两个众所周知的内存限制。每个进程的内存限制为 2GB(如果更改设置,则为 3GB)。Windows XP 总共使用的最大内存为 3.25GB。

32 位操作系统没有 4GB 内存的基本限制 - Windows Server 2003 可以使用超过 4GB 的内存。定义 32 位系统的关键限制是每个进程(一个特定应用程序的虚拟地址空间)。这就是 Windows XP 中每个进程限制为 2GB/3GB 的原因,Windows 2003 Server 也共享此限制。

我使用 64 位 OpenSUSE 11.3 Linux 和 Windows XP 进行双启动。随着时间的推移,Linux 越来越成为我的主要操作系统,但我经常使用的 Windows XP 应用程序太多了,以至于不能直接丢弃它们。

因此,我想知道的是,是否存在任何在 32 位 Windows XP 中将 3.25GB 以上的内存投入实际使用的方法。我想到的几种可能性是...

  • 使 Windows XP 的行为更像 Windows 2003 Server 的方法。
  • 一种使用可使用额外内存的替代方法来取代 Windows XP 中的硬盘缓存处理的方法。
  • 可使用非 Windows 内存的 RAM 磁盘。

有两种可能性值得一提,但我暂时不予承认,它们是……

  • 使用 Windows 2003 Server 32 位 - 许可证问题。
  • 使用 Reactos - 仍为 alpha 版本,存在重大问题,而且我不确定它是否可以使用超过 3.25GB 的内存。

编辑

在乔尔的回答中,最后一段是……

如果您有大量 RAM(6Gb 或更多),我还听说过人们安装软件为未使用的 RAM 设置 RAMDisk,然后将页面文件放在那里。

如果有人知道我可以在哪里找到合适的 RAMDisk 软件,我会接受这个答案。普通的 RAMDisk 并不合适,因为它只使用 Windows 管理的内存,因此更有可能降低系统效率并且仍然不使用额外的 RAM。

答案1

如果您只想设置 RAMDisk,正如您的编辑所示,我相信同名的应用程序将会按照您想要的方式运行。

RamDisk Plus 11 具有一项最独特的功能。我们正在申请专利的技术可以访问超出 Windows 32 位操作系统限制的内存!换句话说,RamDisk Plus 11 可以使用“非托管”Windows 内存(例如 4GB 以上)。它还可以使用 3.2GB 到 4GB 之间难以访问的内存。

请参阅产品的帮助文件,详细了解什么是“非托管”内存以及如何使用 RamDisk Plus 11 访问和使用它。

答案2

你之前提到的 2GB/3GB 限制是每个进程。Windows XP 中可以拥有更多 RAM,但每个进程可用的 RAM 数量有限。XP 中的实际系统范围限制是 4GB,而不是 3.25GB。只需换上 RAM 较少的显卡(您现在可能正在运行 768MB 的显卡),您就可以在 32 位 XP 中轻松超过 3.25GB RAM。装上旧的 64Mb pci 显卡,您可能会发现很多更接近 4GB 的最大值。

超过 4GB 上限更加困难。它需要使用 16 位系统时代所需的那种寻址技巧。我听说过在 32 位 XP 中可以打破这一障碍,但它需要的不仅仅是简单的注册表编辑。如果我没记错的话,这个限制是直接编译到操作系统中的。要解决这个问题,您必须从 32 位 Server 2003 计算机中找到一个特定的 .dll 文件,并使用它来替换 Windows XP 计算机上的等效文件。要做到这一点,必须修改该文件,以便 XP 不会拒绝它,并且您必须使用卷影复制来替换现有文件。我不记得并且现在找不到您需要哪个文件或如何修改它的链接。完成此操作后,您应该能够对 32 位 XP 进行与对 Server 2003 相同的设置,以允许更高的内存上限。当然,这种更改是不受支持的,并且违反了您的许可协议。

如果您有大量 RAM(6Gb 或更多),我还听说过人们安装软件为未使用的 RAM 设置 RAMDisk,然后将页面文件放在那里。

答案3

虽然 3.25 不是官方限制,但 4GB 是官方限制。前 1GB 左右可以用于视频内存和驱动程序。因此超过 3.25 是可能的。Windows XP 的设计不允许超过 4。许多聚丙烯酰胺凝胶电泳发现导致做出此决定的驱动程序问题。整个内存问题在微软网站。

基本上

Windows XP Professional 和 Windows Server 2003 上可支持的最大内存量也是 4 GB。但是,Windows Server 2003 企业版支持 32 GB 物理 RAM,而 Windows Server 2003 数据中心版使用 PAE 功能支持 64 GB 物理 RAM。

除非在 Boot.ini 文件中使用 /3GB 开关,否则进程和应用程序的虚拟地址空间仍限制为 2 GB。当系统中的物理 RAM 超过 16 GB 并使用 /3GB 开关时,操作系统将忽略额外的 RAM,直到删除 /3GB 开关。这是因为需要增加内核的大小来支持更多的页表条目。假设管理员不想默默地自动丢失 /3GB 功能;因此,这需要管理员明确更改此设置。

还要注意,在 Windows 服务器上使用未经认证的驱动程序可能会导致与 PAE 相关的问题。显然,突破 Microsoft 定义的限制也会导致同样的问题。

答案4

查看链接这里看来 Windows 7 的答案(如果已解锁等)是 64GB RAM。我不相信 WinXP 的情况也是如此。

相关内容