memory - 虚拟内存是无限的吗?

标签 memory

我在一次采访中被问到虚拟内存是否是无限的?我回答说它不是无限的。然后面试官问了解释,我的建议是在windows中我们确实有手动的方式来配置虚拟内存到一定的限度。

我想知道虚拟内存是否真的是无限的?

最佳答案

首先,忘记虚拟内存受机器上指针大小限制的想法。

虚拟内存限制与寻址空间不同。您可以使用分页来寻址比基于指针的地址空间中可用的更多的虚拟内存。

  • 虚拟内存上限由 操作系统:例如,在 32 位 Windows 上 限制为 16TB,在 64 位上 Windows 的限制是 256TB。
  • 虚拟内存在物理上也受到 可用磁盘空间。

有关解决各种误解的出色概述,请参阅以下内容:

http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx

关于memory - 虚拟内存是无限的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608820/

相关文章:

C++:动态内存分配和类构造函数

ruby-on-rails - 在heroku上跟踪应用程序内存使用情况

c++ - 嵌套的 STL vector 使用太多内存

Python内存模型

c - C 中自动变量的大小限制是多少?

c - gcc asm 内存引用过多

c++ - 在C++中为类分配内存

java - jvm选项-XX :OnOutOfMemoryError=jmap do?是什么意思

java - Java中ArrayList的内存大小是多少

java - 重新创建对象之前是否需要清空ArrayList?