虚拟机内存使用情况未出现在任务管理器中

虚拟机内存使用情况未出现在任务管理器中

我对 Windows 内存管理及其与 TaskManager 的关系有些不明白,希望有人能启发我。

如果我正在运行虚拟机(无论是 Virtual PC 2007、Virtual Server 2005 还是 VirtualBox,因为它们的工作方式相同),并启动 TaskManager,我可以在进程选项卡上看到一些 VM 条目,但内存值相当小(大约 30 MB)。显然,它不包括 VM 本身实际消耗的内存。您可以显示的与内存相关的各种列似乎都没有不同。性能选项卡上的内存使用情况似乎与包括 VM 在内的总内存使用情况正确。

所以我的问题是为什么虚拟机的内存使用情况(将是 100 MB)没有显示在“进程”选项卡上?

答案1

VirtualPC、HyperV 以及可能类似的产品使用所谓的驱动程序锁定内存,这在进程资源管理器、任务管理器等中不可见。 内存地图将显示进程使用的驱动程序锁定内存。

答案2

任何托管虚拟化系统(如您列出的系统)都将包括在主机操作系统内核中运行的设备驱动程序。这是必要的,因为用户模式程序无法发出创建虚拟机所需的指令。

您在任务管理器中看不到内存的原因是您正在查看与虚拟机相关联的用户模式程序的内存,而不是实际为虚拟机分配内存的内核模式设备驱动程序的内存。

答案3

要查看虚拟机使用的内存量,您需要确保任务管理器中可以看到工作集列。通常只有私有集可见。

要启用此列:

1)启动任务管理器

2)转到“进程”选项卡

3)视图 > 选择列

4)确保“内存 - 工作集”已勾选

例如,我目前正在运行的虚拟机的私有集是 43mb,而工作集是 2.3Gb

相关内容