8.2.15.4. 内存膨胀
虚拟机从您分配给它们的完整虚拟内存数量开始。由于虚拟内存使用量超过 RAM,因此主机需要更多 swap 空间。如果启用,内存膨胀 可让虚拟机提供该内存中未使用的部分。空闲的内存可以被主机上的其他进程和虚拟机重复使用。减少内存占用率会降低交换的可能性,并提高性能。
virtio-balloon 软件包提供了内存膨胀设备和驱动程序,作为可加载的内核模块(LKM)。默认情况下,它被配置为自动加载。将模块列入黑名单或卸载将禁用 ballooning。
内存膨胀设备不直接协调;它们依赖于主机的 Memory Overcommit Manager (MoM)流程来持续监控每个虚拟机的需求,并指示 balloon 设备增加或降低虚拟内存。
性能考虑:
- 对于需要持续高性能和低延迟的工作负载,红帽不推荐使用内存膨胀和过量使用。请参阅配置高性能虚拟机、模板和池。
- 红帽建议在增加虚拟机密度(经济)比性能更重要时,内存膨胀。
- 内存膨胀不会影响 CPU 使用率。(KSM 消耗一些 CPU 资源,但消耗会保持在压力下的一致性。)
要启用内存膨胀,请单击 New Cluster 或 Edit Cluster 窗口中的 Optimization 选项卡。然后选择 Enable Memory Balloon Optimization 复选框。这个设置可在此集群中运行的虚拟机上启用内存使用过量。选择此复选框后,M 会尽可能启动膨胀,但会限制每个虚拟机的保证内存大小。请参阅 第 8.2.3 节 “优化设置说明”。
此集群中的每个主机在状态更改为开机时会收到 balloon 策略更新。如果需要,您可以手动更新主机上的 balloon 策略,而无需更改状态。请参阅 第 8.2.9 节 “更新集群中的主机上的 MoM 策略”。