我在具有 2GB RAM 的 Windows XP 机器上运行 VirtualBox。我创建了一台虚拟 Ubuntu 机器并为其分配了 750MB 的基本内存。
只是为了测试一下,我在虚拟机上一次运行了 20 件事。根据 ubuntu 中的“top”,使用了 750 兆内存,以及相当大的交换空间。
然而,在 Windows 任务管理器中,VitrualBox 只使用了 45,000K 的内存。当我要求虚拟机做越来越多的事情时,VirtualBox 进程的 CPU 使用率上升(在 Windows 中),但内存使用率保持不变。
使用 750 MB 内存的虚拟机如何只消耗物理机上的 45 MB 内存?
我假设答案是虚拟机使用的不是真实内存,而是模拟内存(即交换空间),但它确实感觉很活泼,就像在 RAM 中运行一样。
更新:我已经按照建议使用了 perfmon。就算把我能想到的全部总结起来,好像还是不到300兆……所以还是个谜。
Process VirtualBox VirtualBox#1 Total
PoolNonpagedBytes 5,840 42,552 48,392
PoolPagedBytes 119,796 166,892 286,688
PrivateBytes 8,884,224 52,719,616 61,603,840
VirtualBytes 75,939,840 161,202,176 237,142,016
Sum 84,949,700 214,131,236 299,080,936
Run Code Online (Sandbox Code Playgroud)