可以指定客户机交换文件的位置、当内存超额分配时预留交换空间以及删除交换文件。
当 vmmemctl
驱动程序不可用或未响应时,ESXi 主机会使用交换从虚拟机中强制回收内存。
- 从未安装。
- 它已明确被停用。
- 未运行(例如,客户机操作系统正在引导时)。
- 暂时无法以足够快的速度回收内存来满足当前系统需求。
- 正常工作,但是已经达到最大膨胀大小。
当虚拟机需要页面时,标准需求分页技术会重新换入页面。
交换文件位置
默认情况下,会在与虚拟机配置文件相同的位置中创建交换文件,该位置可以位于 VMFS 数据存储、vSAN数据存储或 VMware vSphere® Virtual Volumes™ 数据存储中。在 vSAN数据存储或 vVols 数据存储中,交换文件可作为独立的 vSAN 或 vVols 对象进行创建。
打开虚拟机电源时,ESXi主机会创建交换文件。如果无法创建该文件,则无法打开虚拟机电源。除了接受默认值以外,您还可以:
- 使用每个虚拟机配置选项将数据存储更改为另一个共享的存储位置。
- 使用主机-本地交换在主机上指定存储在本地的数据库存储。这样就可以在每个主机级别上进行交换,从而节省 SAN 上的空间。但是,对于 vSphere vMotion,可能会导致性能稍有下降,因为交换到源主机上的本地交换文件的页面必须通过网络传输到目标主机。当前无法为主机-本地交换指定 vSAN和 vVols 数据存储。
为 DRS 集群启用主机-本地交换
为独立主机启用主机-本地交换
主机-本地交换允许将存储在主机本地的数据存储指定为交换文件位置。可以为独立主机启用主机-本地交换。
过程
- 在 vSphere Client 中,浏览到主机。
- 单击配置。
- 在虚拟机下,选择交换文件位置。
- 单击编辑,然后选择所选数据存储。
- 从列表中选择本地数据存储,然后单击确定。
结果
交换空间和内存过载
必须在每个虚拟机交换文件中为任何未预留的虚拟机内存预留交换空间(预留和配置内存大小之间的差值)。
需要该交换预留来确保 ESXi 主机在任何情况下均能预留虚拟机内存。实际上,只有一小部分主机级别的交换空间可能会用到。
如果正在通过 ESXi 使内存过载以支持由膨胀导致的客户机内部交换,请确保客户机操作系统还有足够的交换空间。该客户机级别交换空间必须大于或等于虚拟机配置内存大小与其“预留”之间的差值。
为了避免虚拟机出现故障,请增加虚拟机中交换空间的大小。
- Windows 客户机操作系统 — Windows 操作系统将其交换空间称为分页文件。如果有足够的可用磁盘空间,一些 Windows 操作系统会尝试自动增加分页文件的大小。
请查看 Microsoft Windows 文档或搜索 Windows 帮助文件来了解“分页文件”。按照说明更改虚拟内存分页文件的大小。
- Linux 客户机操作系统 — Linux 操作系统将其交换空间称为交换文件。有关增加交换文件的信息,请参见以下 Linux 手册页:
mkswap
— 设置 Linux 交换区。swapon
— 针对分页和交换启用设备和文件。
具有大量内存和较小虚拟磁盘的客户机操作系统(例如,具有 8 GB 内存和 2 GB 虚拟磁盘的虚拟机)更容易出现交换空间不足的情况。
创建大型交换文件(例如,大于 100 GB 的文件)时,打开虚拟机电源所花的时间会显著增加。为避免出现这种情况,请为大型虚拟机设置较大的预留。
还可使用主机-本地交换文件将交换文件置于开销较小的存储器中。
配置主机的虚拟机交换文件属性
可通过配置主机的交换文件位置来确定虚拟机交换文件在 vSphere Client 中的默认位置。
默认情况下,虚拟机的交换文件位于数据存储上包含其他虚拟机文件的文件夹中。但是,可将主机配置为将虚拟机交换文件置于备用数据存储上。
可以使用该选项将虚拟机交换文件放到成本较低或性能较高的存储上。也可替换单一虚拟机的此主机级设置。
设置备用交换文件位置可能会导致使用 vMotion 迁移速度缓慢。为获得最佳 vMotion 性能,请将虚拟机存储在本地数据存储中,而不是与虚拟机交换文件存储在同一目录中。如果虚拟机存储在本地数据存储中,存储交换文件和其他虚拟机文件将无法提高 vMotion 的性能。
前提条件
所需特权:
过程
结果
配置集群的虚拟机交换文件位置
默认情况下,虚拟机的交换文件位于数据存储上包含其他虚拟机文件的文件夹中。但是,您可以配置集群内的主机,将虚拟机交换文件置于自己选择的替代数据存储上。
根据您的需求,可以配置备用交换文件位置,以将虚拟机交换文件置于成本较低或性能较高的存储上。
前提条件
在配置集群的虚拟机交换文件位置之前,必须按照配置主机的虚拟机交换文件属性中的说明配置集群内主机的虚拟机交换文件位置。
过程
- 浏览到集群。
- 单击配置。
- 选择 。
- 在“交换文件位置”旁,单击编辑。
- 选择存储交换文件的位置。
选项 描述 虚拟机目录 将交换文件存储在与虚拟机配置文件相同的目录中。 由主机指定的数据存储 将交换文件存储在主机配置中指定的位置。 如果无法将交换文件存储到主机指定的数据存储中,则交换文件必须与虚拟机存储在同一文件夹中。
- 单击确定。
删除交换文件
如果主机失败,并且该主机所具有的正在运行的虚拟机使用交换文件,则这些交换文件会继续存在并消耗数 GB 的磁盘空间。您可以删除这些交换文件,从而消除此问题。
过程
- 重新启动故障主机上的虚拟机。
- 停止该虚拟机。