必须在每个虚拟机交换文件中为任何未预留的虚拟机内存预留交换空间(预留和配置内存大小之间的差值)。
需要该交换预留来确保 ESXi 主机在任何情况下均能预留虚拟机内存。实际上,只有一小部分主机级别的交换空间可能会用到。
如果正在通过 ESXi 使内存过载以支持由膨胀导致的客户机内部交换,请确保客户机操作系统还有足够的交换空间。该客户机级别交换空间必须大于或等于虚拟机配置内存大小与其“预留”之间的差值。
小心: 如果内存过载且客户机操作系统配置的交换空间不足,则虚拟机中的客户机操作系统可能会出现故障。
为了避免虚拟机出现故障,请增加虚拟机中交换空间的大小。
- Windows 客户机操作系统 — Windows 操作系统将其交换空间称为分页文件。如果有足够的可用磁盘空间,一些 Windows 操作系统会尝试自动增加分页文件的大小。
请查看 Microsoft Windows 文档或搜索 Windows 帮助文件来了解“分页文件”。按照说明更改虚拟内存分页文件的大小。
- Linux 客户机操作系统 — Linux 操作系统将其交换空间称为交换文件。有关增加交换文件的信息,请参见以下 Linux 手册页:
mkswap
— 设置 Linux 交换区。swapon
— 针对分页和交换启用设备和文件。
具有大量内存和较小虚拟磁盘的客户机操作系统(例如,具有 8 GB 内存和 2 GB 虚拟磁盘的虚拟机)更容易出现交换空间不足的情况。
注: 不要将交换文件存储在精简置备的 LUN 上。运行交换文件存储在精简置备的 LUN 上的虚拟机会导致交换文件增长失败,从而可能会导致虚拟机终止。
创建大型交换文件(例如,大于 100 GB 的文件)时,打开虚拟机电源所花的时间会显著增加。为避免出现这种情况,请为大型虚拟机设置较大的预留。
还可使用主机-本地交换文件将交换文件置于开销较小的存储器中。