内存 (MB) 图表显示虚拟机的内存数据计数器。

此图表位于虚拟机性能选项卡的主页视图中。它仅出现在集合级别 2、3 和 4。

在下面的描述中,客户机物理内存指的是呈现给虚拟机的客户机操作系统的虚拟硬件内存。计算机内存是主机中的实际物理内存。注意并非所有计数器以集合级别 1 进行收集。

表 1. 数据计数器
图表标签 描述
主动节点 虚拟机正在使用的客户机物理内存量。

活动内存由 VMkernel 采用统计抽样方式进行估计,表示虚拟机需要的实际内存量。该值基于虚拟机的当前工作负载。

  • 计数器:active
  • 统计类型:绝对值
  • 单位:兆字节 (MB)
  • 汇总类型:平均值(最小值/最大值)
  • 集合级别:2 (4)
膨胀 由气球驱动程序从虚拟机回收的客户机物理内存量。
  • 计数器:vmmemctl
  • 统计类型:绝对值
  • 单位:兆字节 (MB)
  • 汇总类型:平均值(最小值/最大值)
  • 集合级别:1 (4)
膨胀目标 希望的虚拟机膨胀内存量。

膨胀目标内存由 VMkernel 估计。

如果膨胀目标量大于膨胀量,则 VMkernel 将扩大膨胀量,回收更多虚拟机内存。如果膨胀目标量小于膨胀量,则 VMkernel 收缩膨胀,并允许虚拟机在需要时重新分配内存。

  • 计数器:vmmemctltarget
  • 统计类型:绝对值
  • 单位:兆字节 (MB)
  • 汇总类型:平均值(最小值/最大值)
  • 集合级别:2 (4)
已消耗 由虚拟机为客户机内存消耗的客户机物理内存量。

已消耗的内存不包括开销内存。它包括共享的内存和可能预留但实际上并未使用的内存。

消耗的内存 = 已分配的内存 - 由于内存共享而节省的内存

  • 计数器:consumed
  • 统计类型:绝对值
  • 单位:兆字节 (MB)
  • 汇总类型:平均值(最小值/最大值)
  • 集合级别:1 (4)
共享 可用于共享的客户机物理内存量。在透明页共享过程中发生的内存共享。
  • 计数器:shared
  • 统计类型:绝对值
  • 单位:兆字节 (MB)
  • 汇总类型:平均值(最小值/最大值)
  • 集合级别:2 (4)
已交换 由 VMkernel 换出到磁盘的客户机物理内存量。此数据计数器主要测量 VMkernel 交换而非客户机 OS 交换。

已交换 = 换出 – 换入

注: 在某些情况下,vMotion 可以改变这些值,导致虚拟机驻留在某些内存已换出的主机上。因此,交换值可以大于换出减去换入的值。
  • 计数器:swapped
  • 统计类型:绝对值
  • 单位:兆字节 (MB)
  • 汇总类型:平均值(最小值/最大值)
  • 集合级别:2 (4)

图表分析

虚拟机的内存大小必须稍大于客户机内存平均使用情况。这将使主机能够适应工作负载高峰,而不需在客户机之间交换内存。增加虚拟机内存大小可导致更多内存使用情况开销。

如果交换空间充足,则膨胀值较高不会导致出现性能问题。但是,如果主机的换入值和换出值很大,则主机可能缺少满足要求所需要的内存量。

如果虚拟机有高膨胀或交换值,则在主机上检查可用物理内存的数量。可用内存值等于或少于 6% 表示主机无法满足内存需求。这将导致内存回收,从而使性能下降。如果活动内存与授予的内存大小相同,则需要的内存将大于可用的内存资源。如果活动内存一直很低,则内存大小可能过大。

如果主机具有足够的可用内存,则在主机上检查虚拟机和资源池的资源份额、预留和限制。确保主机设置的值足够大,而且不低于为虚拟机设置的相应值。

如果可用内存较少或者您注意到性能下降,则请考虑采取以下操作。

表 2. 内存性能增强建议
# 解决方案
1 验证是否在每个虚拟机上均安装了 VMware Tools。气球驱动程序与 VMware Tools 一起安装,它对性能而言至关重要。
2 验证是否启用了气球驱动程序。通过膨胀和交换,VMkernel 定期回收没有使用的虚拟机内存。通常,这不影响虚拟机性能。
3 如果内存太大,则在虚拟机上减少内存空间,并更正缓存大小。这将为其他虚拟机释放内存。
4 如果虚拟机的内存预留值设置大大高于活动内存设置,则减少预留设置,以便 VMkernel 可以回收空闲内存供主机上其他虚拟机使用。
5 将一个或多个虚拟机迁移到 DRS 集群中的主机上。
6 将物理内存添加到主机。