简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

针对 Red Hat 虚拟化优化内存:采用 RHV 的 NetApp HCI

提供者 kevin-hoke

部署虚拟基础架构的主要优势之一是,可以更高效地利用环境中的物理资源。如果子虚拟机未充分利用分配的内存,则可以使用内存过量来优化内存使用。通过此功能,可以将分配给主机上子虚拟机的内存量总和超过该主机上的物理内存量。

内存过量使用背后的概念类似于存储资源的精简配置。在任何给定时刻,主机上的每个 VM 都不会使用分配给它的总内存量。如果一个虚拟机的内存过多,则其未使用的内存可供其他虚拟机使用。因此,最终用户可以部署物理基础架构通常不允许的更多 VM 。集群中主机上的内存过量使用由 Memory Overcommit Manager ( MoM )处理。内存释放和内核同页合并( KSM )等技术可以根据工作负载类型提高内存过量使用的情况。

内存释放是一种内存管理技术,它允许主机通过回收以前分配给各种 VM 的未使用内存来人为地扩展其内存,但每个 VM 的内存大小保证是有限制的。为了使内存释放正常工作,每个 VM 默认都有一个气球设备,其中包含必要的驱动程序。从本质上说,释放是 VM 驱动程序与主机之间的一项合作操作。根据主机的内存需求,它会指示子操作系统对气球设备控制的气球进行膨胀(为主机提供内存)或放气(重新获得内存)。

通过内核同页合并( KSM ),主机内核可以检查两个或多个正在运行的 VM 并比较其映像和内存。如果任何内存区域或页面相同, KSM 会将多个相同的内存页面减少为一个页面。然后,此页面将标记为 ‘copy on write ' ,如果此页面的内容由子虚拟机修改,则会为该子虚拟机创建一个新页面。

可以在集群级别启用这两项功能,以应用于该集群中的所有主机。要启用这些功能,请导航到 Compute > Clusters ,选择所需集群并单击 Edit 。然后,单击 Optimization 子选项卡,并根据您的要求执行以下步骤:

  1. 根据使用情形和工作负载,启用内存优化以允许将内存过量使用到可用物理内存的 150% 或 200% 。

  2. 要启用内存释放,请选中启用内存气球优化复选框。

  3. 要启用 KSM ,请选中启用 KSM 复选框。

  4. 单击确定以确认更改。

错误:缺少图形映像

请注意,应用这些更改后,只有在手动同步 MOM 策略后,这些更改才会生效。要同步 MOM 策略,请导航到 Compute > Clusters ,然后单击为其进行优化更改的集群。导航到主机子选项卡,选择所有主机,然后单击同步 MoM 策略。

错误:缺少图形映像

KSM 和热气球可以释放主机上的某些内存并有利于过量使用,但是,如果可共享内存的数量减少,而物理内存的使用量增加发生原因,则可能会出现内存不足的情况。因此,管理员应确保预留足够的内存,以避免共享内存减少时出现内存不足的情况。

在某些情况下,内存释放可能会与 KSM 发生冲突。在这种情况下, MoM 会尝试调整气球大小以最大程度地减少冲突。此外,在某些情况下,热气球可能会使发生原因的性能低于最佳性能。因此,根据工作负载要求,您可以考虑启用其中一种或两种技术。