我有一台 32 GB 内存的服务器,并且有 libvirt。已使用 12 GB 内存。当我尝试向客户操作系统添加内存时,无法添加超过 12 GB 的内存。如何检查 libvirt 上有多少内存可用于添加到客户操作系统?我想将所有可用内存都提供给它。
答案1
您可以为客户机分配的最大 RAM 量是主机可用的 RAM 总量。但当然,如果您这样做,那么您应该预料到会出现一些性能问题,或者无法启动或正常运行。
当您在 virt-manager 中创建 VM 时以及通过 时,都会显示该号码virsh nodememstats
。
# virsh nodememstats
total : 32938320 KiB
free : 1087720 KiB
buffers: 1249844 KiB
cached : 3681120 KiB
该系统几乎使用了所有内存,因此留给新虚拟机的内存空间很小。
为了提高 KVM 中的内存使用率,请确保每个 Windows 客户机都安装了 virtio balloon 驱动程序(Linux 已包含此驱动程序),并在主机上启用 ksm 来对虚拟机内存进行重复数据删除。