我的虚拟机的内存分配从未改变

我的虚拟机的内存分配从未改变

我通过 virt-manager 为我的客户机设置了内存分配。
我将当前内存设置为 16384Mb,将最大内存设置为 32768Mb。
我注意到当前内存从未改变!为什么?

同样,我将 CPU 数量设置为 2,但虚拟机始终只使用一个。

主机:Debian/Jessie
客户机:ws2012
libvirt 版本:1.2.9
virt-manager:1.0.1
Windows 驱动程序气球:版本 62.73.104.12600/11.8.2016

答案1

您没有提到您使用的是哪个虚拟机管理程序,所以我猜是 KVM,但我的答案也适用于 Xen。当您设置 currentMemory=16384 和 maxMemory=32768 时,您是在告诉 KVM 使用 32 GB 的 RAM 启动,并使用 balloon 驱动程序将其减少到 16 GB。

一旦气球驱动程序将 RAM 减少到 16 GB,除非您明确告诉 KVM 增加,否则它不会再次增加。如果没有您的指示,它不会自行调整

关于 CPU 数量 - 您没有提到在启动客户机之前或客户机运行时是否将 CPU 数量设置为 2。通常,大多数操作系统都希望您在启动之前设置 CPU 数量,因为它们不会自动热插拔 CPU。

某些版本的 Windows 还存在一个更复杂的问题 - 如果您首次安装 Windows 时只有 1 个 CPU,那么即使您后来添加了 CPU,它们也不会被使用,因为 Windows 是在单处理器模式下安装的。此外,某些版本的 Windows 仅支持单个插槽,但允许多个核心。因此,您可能需要告诉 virt-manager 更改 CPU 拓扑以公开 1 个具有 2 个核心的插槽,而不是 2 个具有 1 个核心的插槽。

相关内容