CPU 就绪时间及其在虚拟机性能中的作用

CPU 就绪是虚拟化的衡量指标,表明物理 CPU 可能存在的问题。作为衡量系统效率的指标,它用于跟踪性能和资源利用率,并避免严重错误。为了解它在管理虚拟机中的重要性,我们将探讨 CPU 就绪作为性能指标所发挥的作用。

假设有一个企业拥有一个数据中心,并配备专用硬件系统来运行其业务。该系统具有一个共享资源池,包括64GB的内存、4GHz的计算能力以及128TB的存储。如果有四个不同的用户需要使用该系统开展各自的业务,传统计算架构会要求他们按顺序等待,直到其他人完成各自的计划任务。考虑到硬件资源几乎总是未被充分利用,这种资源共享方式未优化且效率低下。

那么,组织如何应对这个问题呢?最实际的解决方案是将物理资源在四个用户之间进行分区,使他们能够独立且并发地使用同一套底层硬件。这种在同一套硬件上部署多台机器或系统的架构称为虚拟化

虚拟化:架构与实现

数据中心和服务提供商使用虚拟化将物理硬件抽象为聚合的逻辑资源池。这些资源池可能由 CPU、内存、磁盘、文件存储、应用、网络等组成,并可以以虚拟机的形式提供给用户。这样既提高了资源利用率,又允许同一计算环境同时运行多个相互独立的系统。

虚拟化是通过使用 虚拟机管理程序 来实现的。虚拟机管理程序是一种特殊的软件或程序,用于模拟硬件功能的虚拟版本。这就创建了一个虚拟平台,在该平台上,多个客户机操作系统以及后续的 应用 可作为虚拟机进行部署,且彼此相互独立。每个这样的虚拟机都由一台 ESX 服务器进行管理和控制。ESX 服务器在保持主机上所有虚拟机的运行效率和可靠性的同时,还能让用户直接控制底层硬件资源。此类 ESX 服务器的集群由 vCenter 管理。

需要对虚拟环境中的关键使用指标进行测量和监控,以便获得关于何为最佳资源分配标准的切实洞见。这些指标涵盖 CPU内存网络磁盘 I/O磁盘空间 等不同类别。它们提供主机或 VM 状态的概览,从而使网络管理员能够识别出存在问题的 VM,并深入排查并解决影响整体性能的进程或 应用。

什么是 CPU 就绪?

CPU 就绪是一个用于从资源使用角度监控虚拟机性能的指标。IBM,作为虚拟化的先驱,将 CPU 就绪 定义为:"虚拟机已准备好使用 CPU,但由于 vSphere ESXi 主机上的所有 CPU 资源都处于繁忙状态,无法为其调度物理 CPU 时间的那段时间。"

因此,以前面的数据中心示例为例,设想该 ESX 主机上部署了四台虚拟机(每台具有16GB内存和1GHz的CPU)。如果某个虚拟机对物理CPU资源的需求超过1GHz,系统会检查其他四台虚拟机是否处于空闲状态,或是否仅在运行对处理能力要求较低的任务,以便将CPU分配给这个需求较高的虚拟机。如果CPU上已经有其他进程在运行,则无法将其分配给该虚拟机。该虚拟机必须等待,直到CPU空闲,才能将其用于自身的操作。虚拟机已准备好处理作业,但因缺乏物理资源而等待的这段时间,被称为CPU就绪时间。

CPU 就绪表示

CPU 就绪通常以毫秒(ms)百分比(%)表示,是衡量并监控 VMWare ESX 主机及其关联虚拟机健康状况的关键指标。该指标直接受主机上运行的虚拟机数量及其各自的 CPU 负载影响。CPU 就绪值在 0-50 ms 被认为是健康且优化的虚拟化环境。高达 300 ms 的数值是可接受的,而CPU 就绪时间超过 500 ms 可能表明存在性能问题。大于 1,000 ms 的数值表示严重的 VMWare 问题,需要立即关注。

将 CPU 就绪值转换为百分比(RDY%): vCenter 的性能图表通常将 CPU 就绪值显示为以毫秒为单位的总和。这些总和值可以使用以下公式转换为 RDY%:

CPU 就绪 - ManageEngine OpManager

有关默认更新间隔值以及 CPU Ready 值转换的更多详细信息,请参阅 VMWare 的这篇文档

注意: 上述计算的结果是每个虚拟 CPU 的 CPU %RDY 时间之和。每个内核的就绪时间可以通过将 CPU RDY% 除以该 VM 上的内核数量来计算。

CPU 就绪在虚拟机性能中的作用

由于 CPU 就绪值显示了虚拟机因缺乏物理资源而处于空闲的时间,该指标被广泛用于衡量系统性能和资源利用率。CPU 就绪值可以直接与资源不足、CPU 超分配以及配置错误等问题相关联。

CPU 就绪多少算正常?VMWare CPU 就绪百分比会因已配置的工作负载和底层物理硬件而在不同服务器之间有所差异。不过,以下数值范围表示相应虚拟机性能的阈值:

CPU 就绪(以百分比计)

解读

影响

0 到 2.5

无问题

性能卓越

2.5 到 5

影响较小

高峰时段必须监控

5 到 10

影响显著

性能明显下降;必须识别并解决问题。

>10

严重情况

需要立即处理,否则会导致应用错误或崩溃

CPU 就绪时间通常与 CPU 利用率一起使用,以查找潜在问题的根源。CPU 就绪时间表示虚拟机(VM)等待被调度到物理处理器上的时间,而 CPU 利用率则衡量当前被消耗的计算能力(以 GHz 计)。

配置了多个 vCPU 的虚拟机通常比配置较少 vCPU 的虚拟机显示更高的 CPU 就绪时间。某些虚拟机即使 CPU 利用率很低,也会显示较高的 CPU 就绪时间。这可能是因为主机上的一些虚拟机规格过大,未充分利用分配的资源,导致其他虚拟机因 CPU 资源不足而受限。这也可能是因为主机发生了资源过度分配,无论虚拟机的规格是否合理。

纠正高 CPU 就绪值以提升虚拟机性能

在 CPU 利用率较低却出现较高的 CPU 就绪值时,建议按照以下推荐做法进行故障排查:

  1. 调整您的虚拟机(CPU 处理上限、核心数量、分配的内存容量等),使其既不过于薄弱而无法完成计算任务,也不至于超额分配,导致占用资源却未被利用。
  2. 不要对主机和集群进行超分配。
  3. 将非关键虚拟机从运行业务关键型虚拟机的主机上迁移走,以防止 CPU 调度争用。
  4. 将高优先级虚拟机迁移到具有更多核心和更高主频(GHz)的主机上。
  5. 使用 DRS 亲和性规则 将互补的工作负载放在一起,并将非互补的工作负载分开。
  6. 启用超线程以提高空闲资源的利用率。
  7. 通过关闭电源管理功能,使 ESX 服务器以峰值性能运行。

一般来说,按照这些步骤中的部分或全部执行后,CPU 就绪值应会降低。即便 CPU 利用率很高(超过 90%),但 CPU 就绪时间仍然较低的情况,意味着架构理想:ESX 主机和虚拟机的规格已根据虚拟机的工作负载进行了合理配置。

OpManager 如何帮助您维护最佳虚拟机(VM)性能?

一旦知道在各种性能指标中该关注哪些内容,修复虚拟机问题就相对简单。ManageEngine OpManager 是一款集成的网络监控软件,可帮助您监控和维护部署在您网络中的虚拟化系统。借助对多种虚拟机厂商的广泛支持,包括 VMwareMicrosoft 和 Citrix,OpManager 的 虚拟机监控 为您提供对主机上所有虚拟机进行映射、监控,并收集其实时和历史性能数据的功能。

OpManager 提供种类丰富的性能监视器,持续跟踪并为主机及其虚拟机的关键性能指标提供有价值的洞察,例如 CPU 等待时间、空闲时间、ESXi CPU 就绪、虚拟机 CPU 就绪时间、CPU 利用率等。除了 CPU 指标之外,OpManager 还为主机及其关联虚拟机的内存、磁盘和网络状态提供洞察。这些监视器预先配置了阈值,一旦出现问题就会提醒您。此外,OpManager 还支持监控多种用于在主机上部署虚拟系统的虚拟化管理程序,如 Hyper-VXenServerNutanix

OpManager 的交互式用户界面使您能够可视化虚拟化架构的状态,包括可用性和性能,以及以图表、仪表和报告形式呈现的相应数据。

最后,OpManager 提供承载虚拟机的底层硬件数据。OpManager 的硬件监控工具可对温度、风扇转速、电源电压、处理器主频等各类硬件指标以及其他与硬件相关的数据提供直观洞察,帮助您精准定位任何问题。

CPU 就绪 VMWare - ManageEngine OpManager
CPU 就绪时间 - ManageEngine OpManager
VM 性能中的 CPU 就绪
 
 

想了解更多吗?获取免费的 个性化演示,或 下载 30 天试用版,以便您亲自探索 OpManager 的虚拟机监控功能。若需正式授权版本,请在 此处 申请报价。

 

常见问题 - CPU 就绪

是什么导致 CPU 就绪时间过高?

+

CPU 就绪是如何计算的?

+

如何降低 CPU 就绪时间?

+