8.2.15. Memory Optimization
要增加主机上的虚拟机数量,您可以使用 内存过量使用,在其中为虚拟机分配的内存超过 RAM,并依赖于交换空间。
但是,内存过量使用有潜在的问题:
- 交换性能 - 交换空间较慢,消耗的 CPU 资源比 RAM 多,会影响虚拟机性能。过量交换会导致 CPU 增大。
- 内存不足 (OOM) killer - 如果主机耗尽交换空间,新进程无法启动,内核的 OOM 终止程序守护进程开始关闭活跃的进程,如虚拟机客户机。
为了帮助克服这些不足,您可以执行以下操作:
- 使用内存优化设置和内存过量使用管理器 (MoM) 限制内存过量使用。
- 使交换空间足够大,以适应虚拟内存的最大潜力需求,并且剩余安全利润。
- 通过启用内存气球和内核同页合并 (KSM) 减少虚拟内存大小。
8.2.15.1. 内存优化和内存过量使用
您可以通过选择其中一个内存优化设置来限制内存过量使用:None (0%), 150%, or 200%.
每个设置代表 RAM 百分比。例如,有一个具有 64 GB RAM 的主机,选择 150% 表示您可以增加 32 GB 的内存,总内存为 96 GB。如果主机使用总共 4 GB 的 4 GB,则剩余的 92 GB 可用。您可以将其大部分分配给虚拟机(System 标签页中的 Memory Size),但应该考虑保留一些空间以减少出问题的可能。
对虚拟内存的需求激增可能会影响M、内存膨胀和 KSM 重新定义虚拟内存的时间。要减少这个影响,请选择适合您运行的应用程序和工作负载的限制:
- 对于内存需求递增的工作负载,请选择较高的百分比,如 200% 或 150%。
- 对于更关键的应用程序或工作负载在内存需求增加时增加,请选择 150% 或 None (0%)百分比。选择 None 有助于防止内存过量使用,但允许 MoM、内存 balloon 设备和 KSM 继续优化虚拟内存。
在将配置部署到生产环境之前,请始终通过对各种条件进行测试来测试您的 内存优化 设置。
要配置 Memory Optimization 设置,点 New Cluster 或 Edit Cluster 窗口中的 Optimization 选项卡。请参阅 第 8.2.3 节 “优化设置说明”。
其他评论:
- Host Statistics 视图显示 有用的历史信息,以调整过量使用比率。
- 实际可用的内存无法实时确定,因为 KSM 和内存膨胀更改达到的内存大小。
- 当虚拟机达到虚拟内存限制时,新的应用程序无法启动。
- 当您计划在主机上运行的虚拟机数量时,请使用最大虚拟内存(物理内存大小和 内存优化 设置)作为起点。不要因内存优化而实现的较小的虚拟内存中因素,如内存膨胀和 KSM。