【问题标题】:Dynamic memory allocation in KVMKVM 中的动态内存分配
【发布时间】:2017-03-27 06:27:46
【问题描述】:

我有 Ubuntu 16.04 主机,我使用 KVM 在其上安装了一个虚拟来宾(Windows server 2012)。可用的总 RAM 为 16 GB。

我已经安装了 virtio 气球驱动程序。我已经为 windows 分配了 4GB 当前内存和 12GB 最大内存。但是,Windows 将 8GB 未分配内存视为已用内存。

当我打开一些繁重的应用程序时,分配的内存仅限于 4GB 的可用内存。当 Windows 中的内存已满(运行不顺畅)时,计算机的行为方式相同。

Windows 可以看到所有 12 GB RAM,但只能使用 4 GB。 如何确保 windows 可以利用全部 12GB 内存?

【问题讨论】:

    标签: memory-management virtual-machine ram kvm libvirt


    【解决方案1】:

    您描述的行为只是气球驱动程序的操作方式。管理程序公开安装了 12 GB 虚拟 DIMM 的虚拟机。然后,气球驱动程序会获取 8 GB 的内存并将其返回给管理程序。它获取内存的方式因客户操作系统而异,但本质上它必须分配它以使其看起来正在使用,从而阻止客户操作系统使用它。气球驱动程序不会根据来宾工作负载要求自动调整。因此,如果您的 Windows 客户需要超过 4 GB,您需要在主机操作系统上使用 libvirt/virsh 来更改气球级别,以将一些“已使用”的 8 GB 还给客户​​操作系统。如果您希望来宾操作系统查看并使用完整的 12 GB,则根本不要使用气球驱动程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2012-01-13
      • 1970-01-01
      • 2021-02-15
      • 2013-07-01
      相关资源
      最近更新 更多