在工作中,我安装了四个系统,其中 Windows XP SP 3 和 4GB RAM。当我启动大量应用程序时,我发现当 RAM 使用量超过 2.5GB 时,Windows 会变得不稳定,并出现常见的效果:资源管理器崩溃、图标消失。
因此看起来,即使至少有 1GB 的 RAM 是可用的,Windows 仍然会耗尽内存(作为 32 位操作系统,WinXP 最多不能使用超过 3.5GB 的内存,但我仍然缺少 1GB)。
另一件事是 Windows 正在尝试扩展交换文件(设置为固定的 512MB),这并不是我想要的。我知道 XP 会尝试通过过早交换来使我的系统更加敏捷(因此它可以简单地释放一段时间未使用的页面),但我更喜欢一个从不交换的系统——我确实有足够的可用 RAM。
[编辑] 我的 gfx 卡有 512MB,映射是 FD000000-FDFFFFFF、E0000000-EFFFFFFF 和 FA000000-FBFFFFFF。
这意味着 EFFFFFFF 和 FA000000 之间存在相当大的差距,而 FBFFFFFF 和 FD000000 之间存在较小的差距。这是 NVidia GeForce 8400GS。我可以在这里做些什么来移动地图?或者我可以人为地取消部分 gfx RAM 的映射吗?这是我的开发 PC,我根本不需要 3D...
[EDIT2] 我的设备管理器显示可用内存从 0x0100'0000 到 0xDFE8'6BFF,大约是 3.3GB。所以我还缺少 0.8GB。
答案1
首先,不要静态设置或删除交换区。这样做或多或少表明你比微软更了解操作系统内部的情况。
需要记住的是,所有带有可寻址内存的显卡、所有 pci 设备等都会占用系统的最大内存量。从物理可寻址内存中减去该内存后,您将得到操作系统和应用程序共享的部分。
如果您需要扩展应用程序可以访问的 RAM 数量,则可以在 boot.ini 中设置一个开关,但这会限制 Windows 必须使用的内存数量。
Tim Slattery 写了一篇关于 Windows RAM 使用情况的好文章。
在回应中对页面文件的重要性和用途进行了很好的解释这个 serverfault 问题。
为了获得更多可用内存,最好的办法是升级到 64 位操作系统,它将能够利用完整的 3.5+GB 的 RAM。
答案2
首先,我会将您的交换文件从一个很小的固定文件更改为系统管理的文件。Windows 正在尝试帮助您,但您却不断阻止它。
另一点是,您是否尝试过测试您的 RAM 芯片?可能是因为您的一个 RAM 芯片出现故障,所以您在 2.5GB 左右开始看到这些影响,然后您开始碰到问题芯片。