许多 ESXi 工作负载存在跨虚拟机(以及在单个虚拟机中)共享内存的机会。

例如,几个虚拟机可能正在运行同一客户机操作系统的多个实例,加载了相同的应用程序或组件,或包含公用数据。这些情况下,主机使用专用的透明页共享技术安全地消除内存页的冗余副本。采用内存共享,在虚拟机中运行的工作负载消耗的内存通常要少于其在物理机上运行时所需的内存。因此,可以高效地支持更高级别的过载。

使用 Mem.ShareScanTimeMem.ShareScanGHz 高级设置可控制系统扫描内存以确定内存共享机会的速率。

通过将 sched.mem.pshare.enable 选项设置为无效(该选项默认为有效),还可以针对单个虚拟机禁用共享。请参见在 vSphere Web Client 中设置高级虚拟机属性

ESXi 内存共享作为后台活动运行,随着时间的推移而扫描共享机会。节省的内存量随着时间而变化。对于相当固定的工作负载,在使用所有共享机会之前,内存量一般会缓慢增加。

要确定给定工作负载内存共享的有效性,请尝试运行工作负载,并使用 resxtopesxtop 观察实际节省的内存量。此信息可在“内存”页面中交互模式的 PSHARE 字段中找到。