实现CPU最佳性能必须考虑-Ready time

问题描述

Ready time是vCPU在队列中等待pCPU(或物理内核)准备执行其指令的时间。调度程序处理队列,当存在争用并且处理资源受到压力时,队列可能变长。

Ready time描述了特定world在队列中等待的最后观察期的大小。特定world的Ready time(例如,vCPU)表示在该时间间隔内等待队列访问pCPU的时间。它可以表示为每个vCPU在观察时间内的百分比,并且在统计上,它不能平均为零。

因此,Ready time的值表示VM被拒绝访问它想要使用的pCPU资源多长时间。这使它成为一个很好的绩效指标。

当多个进程尝试使用相同的物理CPU时,该CPU可能无法立即可用,并且进程必须等待ESXi主机才能为其分配CPU。

CPU调度程序管理对主机系统上的物理CPU的访问。CPU使用率或CPU就绪的短暂峰值表示您正在充分利用主机资源。但是,如果两个值都一直很高,则主机可能过载并且性能可能很差。

通常,如果VM的CPU使用值高于90%且CPU就绪值超过每个vCPU 20%(大量vCPU),则性能会受到负面影响。

此延迟可能会影响客户机操作系统的性能以及VM内应用程序的运行。

vSphere中如何监控其Ready time

1.打开vSphere Web Client。

2.在主屏幕上,导航到“ 主机和群集”。

3.展开左侧导航列表。

4.导航到其中一个CPU耗尽的VM。

5.导航到“ 监控”选项卡。

6.导航到“ 性能”选项卡。

7.导航到“ 高级”视图。

8.单击图表选项。

9.从图表指标导航到CPU。

10.导航到VM对象,仅选择以MHz为单位的Demand,Ready和Usage。

调查潜在CPU问题时的关键指标如下:

Demand:VM尝试使用的CPU数量。Ready:实际允许VM使用的CPU数量。Usage:VM已准备好运行但(无法完成工作)的时间量无法实现,因为vSphere无法找到运行VM的物理资源。11.单击“ 确定”。

在以下屏幕截图中,您将看到VM的高准备时间:

请注意此VM要求的CPU数量,并将其与VM实际能够获得的CPU使用量进行比较(以MHz为单位的使用率)。VM要求比目前允许使用的更多。

请注意,VM也看到了大量的就绪时间。

准备时间大于10%可能是一个性能问题。但是,一些对CPU敏感的应用程序和VM可以具有更高的就绪时间值,并且仍然可以令人满意地运行。

如何运作的

当vCPU准备好运行时(即,它有一个要执行的任务),vCPU处于就绪状态。但由于vSphere调度程序无法找到运行VM的物理主机CPU资源,因此无法运行。提升就绪时间的一个潜在原因是VM受用户设置的CPU限制或资源池限制的约束,报告为最大限制MLMTD)。由于限制而被拒绝的CPU量被测量为度量最大限制。

在resxtop/esxtop和vCenter Server 之间以两个不同的值报告就绪时间。在resxtop/esxtop中,以易于理解的百分比格式报告。5%的数字意味着VM花费了其上一个采样周期的5%,等待可用的CPU资源(仅适用于1-vCPU VM)。在vCenter Server中,将就绪时间报告为时间度量。例如,在vCenter Server的实时数据(每20,000毫秒生成样本值)中,报告的数据为1,000毫秒,准备时间为5%。据报道,10%的就绪时间为2,000毫秒。

虽然高就绪时间通常表示CPU争用,但这种情况并不总是需要采取纠正措施。如果就绪时间的值接近CPU使用的时间量值,并且如果CPU活动偶尔出现增加的就绪时间但是长时间不持续,则这可能不表示性能问题。短暂的性能影响通常在可接受的性能差异范围内,并且不需要管理员的任何操作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)