对已停止响应的虚拟机进行故障排除:VMM 与客户机的 CPU 使用情况比较
search cancel

对已停止响应的虚拟机进行故障排除:VMM 与客户机的 CPU 使用情况比较

book

Article ID: 301345

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免责声明:本文为 Troubleshooting a virtual machine that has stopped responding: VMM and Guest CPU usage comparison (1017926) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


虚拟机依赖于可用的主机资源(CPU、内存),而客户机操作系统则消耗这些资源。虚拟机内部或外部的资源可用性或日程安排存在问题可能会导致其无响应。

本文介绍如何使用 CPU 性能衡量指标来确定客户机操作系统是否在实际运行、虚拟机监视器 (VMM) 是否在运行或是否存在调度争用。

文本是一系列文章的一部分。有关详细信息,请参见父文章 Troubleshooting a virtual machine that has stopped responding (1007819)


Environment

VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Installable
VMware ESX 4.1.x
VMware ESX 4.0.x
VMware vSphere ESXi 5.5
VMware vSphere ESXi 6.0
VMware ESX Server 3.0.x
VMware ESX Server 3.5.x
VMware ESXi 3.5.x Embedded
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.1
VMware ESXi 4.1.x Embedded
VMware ESXi 4.0.x Installable
VMware ESXi 4.0.x Embedded

Resolution

可结合使用四个虚拟机 CPU 性能衡量指标,以深入了解虚拟机或其客户机操作系统的响应性:

  • 运行 - 虚拟机占用 CPU 资源的时间量。
  • 等待 - 虚拟机等待 VMkernel 资源的时间量。
  • 就绪 - 虚拟机准备运行以在队列中等待调度的时间量。
  • 同步停止 - SMP 虚拟机准备运行但由于同步 vCPU 调度争用而发生延迟的时间量。

可使用 vSphere Client 中的“性能”选项卡或使用 esxtop 或 resxtop 命令行实用程序查看这些性能衡量指标。请选择最适合您环境的方法。

使用 vSphere Client 查看性能衡量指标

有关使用自定义性能图表的详细信息,请参见《资源管理指南》中的自定义图表视图部分或《vSphere 监控和性能指南》中的查看高级性能图表部分。

  1. 使用 vSphere Client 连接到 vCenter Server 或 ESX/ESXi 主机。
  2. 在清单中选择目标虚拟机。
  3. 单击性能选项卡。
  4. 单击图表选项以自定义性能图表。
  5. 在 CPU 标题下,选择实时
  6. 在“图表类型”标题下,选择线图
  7. 在“对象”列表下,按名称选择虚拟机。
  8. 在“计数器”列表下,选择同步停止运行就绪等待
  9. 或者,保存图表设置以便更轻松地进行重用。
  10. 单击确定
  11. 记下显示的四个衡量指标。每个衡量指标都以毫秒为单位来衡量。

使用 esxtop 或 resxtop 查看性能衡量指标

有关使用 esxtopresxtop 的详细信息,请参见《vSphere 监控和性能指南》或《资源管理指南》中的性能监控实用程序:resxtop esxtop 部分。

  1. 确定正在运行无响应的虚拟机的主机:

    1. 打开 VMware vSphere Client,然后连接到 VMware vCenter Server 或 VirtualCenter Server。
    2. 选择没有响应的虚拟机。
    3. 单击“摘要”选项卡,然后标识“主机: 值”,以表示已向其注册正在运行的虚拟机的主机。

  2. 打开与正在运行虚拟机的 ESX/ESXi 主机、vMA 或安装了 VMware 命令行界面 (vCLI) 的其他位置的控制台会话:


  3. 启动 esxtop 或 resxtop 命令:

    • esxtop
    • resxtop --server HostNameOrIPAddress [--username root]

  4. 按键盘上的 c 以显示 CPU 面板。
  5. 按键盘上的 V(大写)以仅显示虚拟机。
  6. 按名称或域 ID 标识虚拟机。
  7. 按键盘上的 f 以更改可见字段。确保 CPU 状态时间可见:

    ID GID NAME NWLD %USED %RUN %SYS %WAIT %RDY %IDLE %OVRLP %CSTP %MLMTD %SWPWT
    186 186 VMName 4 2.11 2.08 0.00 397.64 0.25 197.71 0.20 0.00 0.00 0.00


    注意:在 ESXi 5.0 中,在 CPU 视图中还有一个 esxtop 字段称为 %VMWAITVMWAIT 只适用于虚拟机vCPU Worlds。VMWAIT 不是空闲时间的总和,只是表示虚拟机处于停滞状态的情况。

  8. 记下显示的四个衡量指标。每个衡量指标都以时间百分比来衡量:%RUN%WAIT%RDY%CSTP

解释 CPU 性能衡量指标

运行 - %RUN:

  • 该值表示虚拟机在系统上运行的绝对时间百分比。
  • 如果虚拟机无响应,%RUN 可能表示客户机操作系统正忙于执行操作。
  • %RUN 接近于零且虚拟机无响应时,可能意味着虚拟机处于空闲状态、停滞在某个操作中或由于资源争用而未调度。查看其他值(%WAIT%RDY%CSTP)以确定资源争用。
  • %RUN 接近于 vCPUS x 100% 数值时,意味着虚拟机中的所有 vCPU 都处于忙碌状态。这表示客户机操作系统可能停滞在某个操作循环中。要进一步调查此问题,您可能需要咨询相应的操作系统供应商,请其帮助确定客户机操作系统占用所有 CPU 资源的原因。
  • 如果您已咨询客户机操作系统供应商,且他们已确定此问题是由 VMware Tools 或虚拟机硬件所导致的,则可能有必要挂起虚拟机以收集其他诊断信息。

等待 - %WAIT:

  • 该值表示虚拟机在继续之前等待某些 VMkernel 活动(如 I/O)完成的时间百分比。
  • 如果虚拟机无响应且 %WAIT 比例值高于 %RUN%RDY%CSTP,则可能表示域正在等待 VMkernel 操作完成。
  • 您可能会观察到 %SYS 在比例上高于 %RUN%SYS 表示系统服务代表虚拟机所用的时间百分比。
  • %WAIT 值较高可能是由虚拟机所在的存储设备性能较低所导致的。如果存在存储延迟和超时,则可能会在驻留在同一 LUN、卷或阵列中的多个虚拟机上触发这些类型的症状,具体取决于存储性能问题的严重程度。
  • %WAIT 值较高还可能是由虚拟机配置中任何设备的延迟所触发的。这可能包括但不限于串行直通设备、并行直通设备和 USB 设备。如果设备突然停止运行或响应,则可能会导致出现这些症状。%WAIT 值较高的一个常见原因是,已删除或移至备用位置的 ISO 文件被意外保留并挂载在虚拟机中。有关详细信息,请参见 Deleting a datastore from the Datastore inventory results in the error: device or resource busy (1015791)
  • 如果看起来没有任何备用存储或网络连接基础架构问题,则可能有必要让虚拟机崩溃以收集其他诊断信息。

就绪 - %RDY:

  • 该值表示虚拟机准备执行命令但由于与其他虚拟机争用而尚未调度 CPU 时间的时间百分比。
  • 最大限制 - %MLMTD 值进行比较。这表示虚拟机准备执行但由于 VMkernel 有意约束而尚未调度 CPU 时间的时间量。有关详细信息,请参见《vSphere 监控和性能指南》或《资源管理指南》中的管理资源池部分。
  • 如果虚拟机无响应或非常缓慢,且 %MLMTD 较低,则可能表示 ESX 主机要为此虚拟机调度的 CPU 时间受限。

同步停止 - %CSTP:

  • 该值表示虚拟机准备执行命令但由于虚拟机配置为使用多个 vCPU 而等待多个 CPU 可用的时间百分比。
  • 如果虚拟机无响应且 %CSTP 比例值高于 %RUN,则可能表示 ESX 主机由于 CPU 资源有限而无法同时同步调度该虚拟机中的所有 vCPU。
  • 查看在此主机上运行的具有多个 vCPU 的虚拟机的使用情况。例如,具有四个 vCPU 的虚拟机可能需要调度 4 个 pCPU 来执行某个操作。如果按此方式配置了多个虚拟机,则可能会导致 CPU 争用和资源匮乏。

操作计划

使用性能衡量指标对任何问题进行故障排除时,请将样本捕获到持久位置中,以供日后参考。有关详细信息,请参见 Using performance collection tools to gather data for fault analysis (1006797)

根据所确定的性能衡量指标的本质,可能有必要挂起虚拟机或让其崩溃以收集其他故障排除信息,或者调查资源约束或其他性能问题。有关详细信息,请参见 Troubleshooting a virtual machine that has stopped responding (1007819) 中的操作计划部分。



Additional Information

esxtop 3.5 数据详解
esxtop 4.1 数据详解
Troubleshooting a virtual machine that has stopped responding: VMM and Guest CPU usage comparison