什么时候定义小于物理内存的虚拟内存是有利的?

When is it advantageous to define virtual memory smaller than physical memory?

通常我们知道虚拟内存大于物理内存memory.But什么时候定义小于物理内存的虚拟内存是有利的?

如果您有大量指针代码,可以通过选择较小的地址来节省内存 space。例如,指针在 32 位平台上占用 4 个字节,而在 64 位平台上占用 8 个字节。 size_t.

等整数类型也是如此

这仅在以下情况下有效且有意义:

  • 您的 code/application/server 使用多个进程,所有进程一起需要的内存比虚拟内存的数量多(否则您不需要比虚拟内存更多的物理内存)。
  • 您的平台支持的物理内存多于虚拟内存(例如,Intel PAE)。
  • 较小的虚拟内存量足以满足每个进程的需要。

想象一个支持多个用户的大型服务器系统。您不希望用户占用内存,因此您通过限制页面 table 大小来限制逻辑(虚拟)地址 space 的大小。