我最近疯狂地寻找 VirtualBox 使用的内存。您可能知道,在任务管理器或 Process Explorer 中,VirtualBox 使用的内存只有几百兆字节,无论客户主机实际使用了多少内存。就我而言,我使用的是 2GB 的虚拟机,所以我想知道为什么我在任何地方都看不到内存使用情况。
经过大量的 Google 搜索后,我下载了 RamMap,并最终找到了一个显示客户机内存数量的地方:
当我停止虚拟机时,系统 PTE 下降到 40MB,重新启动时又升回 2GB。显然,这就是我的客户操作系统驻留的地方!
所以我的问题是:为什么虚拟化客户端的内存存储在这个地方?我对系统 PTE 的理解有限,它代表实际内存和各种进程地址空间之间的映射。所以我期望的只是某种将一个索引映射到另一个索引的数组。我们为什么要把整个操作系统内存放在那里?
谢谢你的启发!