CPU 使用情况临时峰值不一定是问题,但 CPU 使用情况持续较高可能表示存在问题。您可以使用 CPU 性能图表监控主机、集群、资源池、虚拟机和 vApp 的 CPU 使用情况。
问题
- 主机 CPU 使用情况一直很高。CPU 使用情况值较高时会增加主机上虚拟机的就绪时间和处理器列队。
- 虚拟机 CPU 使用情况超过 90%,且 CPU 就绪值超过 20%。应用程序性能将受到影响。
原因
- 主机可能缺少满足要求所需的 CPU 资源。
- 相对于物理处理器内核数,虚拟 CPU 数可能过多。
- 可能存在 IO 存储或网络操作使 CPU 处于等待状况。
- 客户机操作系统为 CPU 生成的负载过多。
解决方案
- 验证是否在主机的每台虚拟机上均安装了 VMware Tools。
- 将主机上或资源池中其他虚拟机的 CPU 使用情况与此虚拟机的 CPU 使用情况值进行比较。主机的虚拟机视图上的堆栈条形图显示主机上所有虚拟机的 CPU 使用情况。
- 确定虚拟机的高就绪时间是否因其 CPU 使用时间达到 CPU 限制设置。如果出现这种情况,请增加虚拟机上的 CPU 限制。
- 增加 CPU 份额以给予虚拟机更多机会运行。如果主机系统受到 CPU 约束,则主机上的总就绪时间可能仍维持在相同级别。如果主机就绪时间没有减少,则为高优先级虚拟机设置 CPU 预留,保证它们收到所需要的 CPU 周期。
- 增加分配给虚拟机的内存量。这可能会减少缓存的应用程序的磁盘和/或网络活动。这可能会降低磁盘 I/O 和/或网络流量,进而降低 CPU 利用率。具有较少资源分配的虚拟机通常可累积更多的 CPU 就绪时间。
- 将虚拟机上的虚拟 CPU 数目减少到执行工作负载所需要的数目。例如,四路虚拟机上的单线程应用程序只能从单个 vCPU 中受益。但 ESXi 还需维护三个空闲 vCPU,占用本可用来处理其他工作的 CPU 周期。
- 如果主机不在 DRS 集群中,则将它添加到一个集群中。如果主机在 DRS 集群中,则增加主机数,并将一个或多个虚拟机迁移到新主机上。
- 如有必要,升级主机上的物理 CPU。
- 使用最新版本的管理程序软件并启用 CPU 节省功能(例如 TCP 分段卸载、较大内存页面和巨型帧)。