首先,我要说的是,我在 SuperUser 上看到过许多类似的问题,我不认为这是重复的。(大多数问题涉及安装 4GB RAM。我有 6GB)
我在基于 i7 的 Xeon 系统上运行 Windows XP 32 位,系统内存为 6GB。我在 Windows 中只看到 3.5GB 的内存。
有什么办法可以从此设置中挤出更多可见的 RAM?即使多出 1GB 也很好。
安装 6GB(而不是 4GB)的 RAM 有帮助吗?(即,即使我丢失了 3.5-4.0 GB 的区域,我可以使用其上方的区域吗?)
PS 最终将迁移到 Windows 7 64 位,但目前还不能。
答案1
即使启用了物理地址扩展,Windows XP 仍然只允许 4 GB 内存。我知道这可能有点令人困惑,因为 Windows Server 2003 允许最多 64 GB 的 RAM(在适当的处理器支持下)。遗憾的是,在这种情况下,您的操作系统被限制为 4 GB。内核可能支持最多 64 GB 的 PAE,但它在 XP 中被锁定。似乎他们仍然包含它的唯一原因是环境保护署支持。来自物理地址扩展 - PAE 内存和 Windows:
尽管对 PAE 内存的支持通常与对 4 GB 以上 RAM 的支持相关,但可以在 Windows XP SP2、Windows Server 2003 以及更高版本的 32 位 Windows 上启用 PAE,以支持硬件强制数据执行保护 (DEP)。
编辑:我只想补充一点,这个 4GB 上限包括专用视频内存或为板载 GPU 预留的内存。
答案2
不。除非您升级到 64 位操作系统,否则您不会看到超过 3.5GB 的空间。如果您现在需要使用全部 6GB,则需要立即安装“最终”的 Win7 64 位。
答案3
据我所知:
32 位处理器本身具有 4GB(2^32 [位])的地址空间——句号。因为多模光纤输入输出系统(内存映射输入/输出)该空间的一部分还用于与外围设备(即 gfx 卡)进行通信和寻址内存。
为了支持多个内存密集型应用程序并补偿 8GB+ 主板支持,英特尔(以及后来的 AMD)推出了聚丙烯酰胺凝胶电泳(物理地址扩展)分别将寻址空间增加到 48 位(后来为 52 位)。
这是通过将内存地址以 2+ 个“块”的形式发送来实现的(双周期寻址)——1 个周期内传输前 32 位,之后在连续的周期内传输剩余位。
然而,为了利用这个新框架,硬件制造商必须将对 DCA(又名 DAC)的支持集成到各自的产品中,这通常需要大量的硬件修订和特殊的 PAE 支持驱动程序。
软件也必须重写以支持大地址感知,允许超过默认的 2GB 应用程序内存空间。毋庸置疑,由于涉及大量软件和硬件修订,并且随着 64 位处理器的出现,该技术(虽然在服务器和企业环境中很流行)从未在最终用户市场中取得显著渗透。
答案4
您可以启用第三方 RAMdrive 并在其上放置交换文件。实际上,您的应用程序将看到所有内存,但可能会有性能开销。不过,它比硬盘上的交换文件快得多。