在像 Windows 这样的按需分页保护模式操作系统上,可用的 RAM 量与进程可以使用的虚拟内存量完全无关。限制因素是分页文件可以支持多少虚拟内存。Windows 中的分页文件以在启动时和注册表设置时确定的大小开始。从那里,当进程需要更多内存时,Windows 可以在必要时增加页面文件的大小。
64位进程可以使用这个环境多少内存?
这是不可预测的,但至少与页面文件中的当前可用空间一样多。您通常会获得大约 13 GB 的数据。这个空间可以突飞猛进地增长,在程序的第二次运行时,它可能会消耗更多的内存,因为 Windows 会赶上并增加页面文件。您可以在Mark Russinovich的这篇博客文章中看到这一点。
在这种环境下 32 位进程可以使用多少内存?
默认为 2 GB。程序的 EXE 标头中的大地址感知选项位可以将其扩展到 4 GB。大多数 32 位程序将关闭此选项位。
如果一个 32 位进程在这种环境下只能使用 2GB 的内存...
它是 2 或 4 GB,而不是 3。再次强调,它与 RAM 无关。即使在具有 8 GB RAM 的机器上,LAA 的 32 位进程也不太可能消耗 4 GB RAM。RAM 是一种共享资源,所有进程都需要其中的一部分。消耗 4 gig 的 32 位进程很可能会将其中的一些页面换出。