虚拟机依赖于可用的主机资源(CPU、内存),而客户机操作系统则消耗这些资源。虚拟机内部或外部的资源可用性或日程安排存在问题可能会导致其无响应。
本文介绍如何使用 CPU 性能衡量指标来确定客户机操作系统是否在实际运行、虚拟机监视器 (VMM) 是否在运行或是否存在调度争用。
文本是一系列文章的一部分。有关详细信息,请参见父文章 Troubleshooting a virtual machine that has stopped responding (1007819)。
可结合使用四个虚拟机 CPU 性能衡量指标,以深入了解虚拟机或其客户机操作系统的响应性:
可使用 vSphere Client 中的“性能”选项卡或使用 esxtop 或 resxtop 命令行实用程序查看这些性能衡量指标。请选择最适合您环境的方法。
有关使用自定义性能图表的详细信息,请参见《资源管理指南》中的自定义图表视图部分或《vSphere 监控和性能指南》中的查看高级性能图表部分。
有关使用 esxtop
或 resxtop
的详细信息,请参见《vSphere 监控和性能指南》或《资源管理指南》中的性能监控实用程序:resxtop 和 esxtop 部分。
esxtop
resxtop --server HostNameOrIPAddress [--username root]
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
%RUN
、%WAIT
、%RDY
、%CSTP
。运行 - %RUN:
%RUN
可能表示客户机操作系统正忙于执行操作。 %RUN
接近于零且虚拟机无响应时,可能意味着虚拟机处于空闲状态、停滞在某个操作中或由于资源争用而未调度。查看其他值(%WAIT
、%RDY
和 %CSTP
)以确定资源争用。 %RUN
接近于 vCPUS x 100%
数值时,意味着虚拟机中的所有 vCPU 都处于忙碌状态。这表示客户机操作系统可能停滞在某个操作循环中。要进一步调查此问题,您可能需要咨询相应的操作系统供应商,请其帮助确定客户机操作系统占用所有 CPU 资源的原因。 等待 - %WAIT:
%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:
最大限制 - %MLMTD
值进行比较。这表示虚拟机准备执行但由于 VMkernel 有意约束而尚未调度 CPU 时间的时间量。有关详细信息,请参见《vSphere 监控和性能指南》或《资源管理指南》中的管理资源池部分。 %MLMTD
较低,则可能表示 ESX 主机要为此虚拟机调度的 CPU 时间受限。同步停止 - %CSTP:
%CSTP
比例值高于 %RUN
,则可能表示 ESX 主机由于 CPU 资源有限而无法同时同步调度该虚拟机中的所有 vCPU。 使用性能衡量指标对任何问题进行故障排除时,请将样本捕获到持久位置中,以供日后参考。有关详细信息,请参见 Using performance collection tools to gather data for fault analysis (1006797)。
根据所确定的性能衡量指标的本质,可能有必要挂起虚拟机或让其崩溃以收集其他故障排除信息,或者调查资源约束或其他性能问题。有关详细信息,请参见 Troubleshooting a virtual machine that has stopped responding (1007819) 中的操作计划部分。