当前位置: 首页 > news >正文

CPU就绪情况及其对虚拟机性能的影响

CPU就绪是虚拟化中的一种性能度量,用于指示物理CPU中的潜在问题,作为对系统效率的度量,它用于跟踪性能和资源利用率,并避免严重错误。为了理解它在管理虚拟机中的重要性,我们将探讨CPU就绪作为一种性能指标的作用。

让我们以一个拥有数据中心和专用硬件系统来运行其操作的组织为例,该系统的共享资源池为64GB RAM,计算能力为4GHz,存储空间为128TB。如果四个不同的用户必须使用这个系统进行操作,传统的计算体系结构将要求他们轮流等待,直到每个人都完成了他们的计划任务。考虑到硬件资源几乎总是未充分利用,这种资源共享方式是未经优化的,效率非常低。

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

虚拟化:其架构和实现

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

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

需要测量和监控虚拟环境中使用的关键组件,以收集有关最佳资源分配标准的具体见解,这些指标涵盖不同的类别,如CPU、内存、网络、磁盘I/O、磁盘空间等。它们提供主机或 VM 状态的概述,从而允许网络管理员识别有问题的 VM,并深入分析影响整体性能的进程或应用程序。

什么是CPU就绪

CPU 就绪是用于监控虚拟机资源使用情况性能的指标。IBM 是虚拟化的先驱,它将 CPU就绪定义为“虚拟机准备好使用 CPU 的时间量,但由于所有 vSphere ESXi 主机 CPU 资源都繁忙而无法安排物理 CPU 时间。

CPU 就绪通常以毫秒(ms)和百分比(%)表示,是衡量和监控 VMWare ESX 主机及其关联虚拟机运行状况的关键指标。此衡量指标直接受主机上运行的虚拟机数量及其各个 CPU 负载的影响。0-50 毫秒的 CPU 就绪值被视为运行状况良好且经过优化的虚拟化设置,最多 300 毫秒的值是可以接受的,而超过 500 毫秒的CPU 就绪时间可能表示性能问题。大于 1,000 毫秒的值表示需要立即关注的严重 VMWare 问题。

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

在这里插入图片描述

注意:以上计算结果为各虚拟CPU的CPU %RDY时间之和,CPU的RDY%除以虚拟机的核数即可计算出每个核的就绪时间。

CPU 就绪在 VM 性能中的作用

由于 CPU 就绪值显示 VM 因缺少物理资源而空闲的时间,因此此指标被广泛用作系统性能和资源利用率的度量,CPU 就绪值可能与资源不足、CPU 过度使用和配置错误等问题直接相关。

多少 CPU 就绪是可以的?根据所配置的工作负载和底层物理硬件,VMWare CPU就绪百分比因服务器而异。以下是虚拟机性能的阈值范围:

CPU 就绪(%)说明影响
0 - 2.5没有问题性能卓越
2.5 - 5影响最小必须在高峰时段进行监控
5 - 10实质性的影响可见性能下降,必须识别和解决问题。
>10紧急情况需要立即注意,否则会导致应用程序错误或崩溃

CPU就绪通常与CPU利用率一起使用,以检查底层问题的根源,CPU就绪是指虚拟机等待调度到物理处理器上的时间,CPU利用率是对当前正在消耗的计算能力的度量(以GHz为单位)。

设置了多个 vCPU 的虚拟机通常比配置了较少 vCPU 数量的虚拟机显示更长的 CPU 就绪时间,即使 CPU 利用率较低,某些 VM 也会显示高 CPU 就绪率,这可能是因为主机上的某些虚拟机容量过大,并且未充分利用分配给它们的资源,从而导致其他虚拟机因 CPU 不足而阻塞,这也可能是因为主机已过量使用,无论是否具有适当大小的 VM。

什么原因导致 CPU 就绪率过高

高度膨胀的 CPU 就绪值主要是由 VM 配置效率低下引起的,这些配置包括在单个主机上添加更多数量的 VM,或为同一虚拟机配置更多数量的 vCPU。资源过度分配也会导致 CPU 就绪值过高,例如,当主机上的某些虚拟机容量过大时,会导致其他虚拟机因资源可用性低而阻塞,这会导致较高的 VMWare CPU 就绪值。

如何缩短 CPU 就绪时间

降低高 CPU 就绪值的最有效方法是纠正 VMWare 主机上虚拟机大小调整不当的问题,确保主机和群集既没有过度使用,也没有使用过多或过少的物理资源,通常还建议您以最佳性能运行 ESX 服务器(电源管理不会让服务器充分发挥其潜力)。

调整CPU就绪值,提升虚拟机性能

如果尽管 CPU 利用率较低,但 CPU 就绪值较高,但 CPU 就绪值较高,我们建议使用以下建议做法进行故障排除:

  • 调整虚拟机的大小(CPU 处理限制、内核数、分配的内存量等),使它们既不会太弱而无法执行计算,也不会过于投入而无法占用资源而不利用。
  • 不要过度提交主机和群集。
  • 将非关键虚拟机从运行关键业务虚拟机的主机上迁移,以防止争用 CPU 调度。
  • 将优先级 VM 迁移到具有较高核心数和时钟速率(GHz)的主机。
  • 使用 DRS 关联性规则将互补工作负载放在一起,将非互补工作负载分开。
  • 启用超线程以提高空闲资源的利用率。
  • 通过关闭电源管理,以最佳性能运行 ESX Server。

一般来说,在执行了这些步骤的一部分或全部之后,CPU就绪值应该会降低。在CPU利用率很高(超过90%)但CPU就绪时间很低的情况下,代表了一种理想的架构,即ESX主机和虚拟机已经针对虚拟机工作负载进行了适当的调整。

如何帮助最佳的VM性能

一旦您知道要在各种性能指标中寻找什么,修复VM问题就相对简单了。OpManager 网络监控软件,可帮助用户对网络中部署的虚拟化系统进行监控和维护,通过对各种虚拟机供应商(包括VMWare, Microsoft和Citrix)的广泛支持,虚拟机监控功能为您提供了映射,监控和收集有关主机中所有虚拟机的实时和历史性能的数据的功能。

OpManager提供了大量的性能监控器,这些监控器可以持续跟踪主机及其虚拟机的性能关键指标,并提供有价值的见解,例如CPU等待时间、空闲时间、ESXi CPU就绪时间、虚拟机CPU就绪时间和CPU利用率等等。除了CPU指标外,还可以让您深入了解主机及其关联虚拟机的内存、磁盘和网络状态。这些监视器预先配置了阈值,以便在出现问题时提醒您。此外,还支持监控各种虚拟机管理程序,如Hyper-V、XenServer和Nutanix,这些虚拟机管理程序用于在主机上部署虚拟系统。

OpManager的交互式UI允许您可视化虚拟化架构的状态,包括可用性和性能,以及图形、表盘和报告形式的相应数据。

最后,OpManager提供托管VM的底层硬件上的数据,硬件监控工具可以直观地了解各种硬件指标,如温度、风扇速度、电源电压、处理器时钟速度以及有关硬件的其他数据,因此您可以查明任何问题。

相关文章:

  • Spring底层原理(四)
  • 【esp32]VSCode-SPI控制OLED
  • 使用 Curl 和 DomCrawler 下载抖音视频链接并存储到指定文件夹
  • 定时器PWM输出
  • uniapp 模仿 Android的Menu菜单栏
  • 开源软件:释放创新的力量,改变数字世界的游戏规则
  • 基于springboot实现学生就业管理系统项目【项目源码+论文说明】计算机毕业设计
  • 绝缘栅双极型晶体管igbt短路如何用自动化软件进行测试?
  • WPS文件恢复怎么做?记得掌握这5个方法!
  • 英飞凌TC3xx-Overlay
  • 多模态论文学习之ALBEF(Align BEfore Fusing)
  • 京东h5st逆向 python代码算法还原逆向分析 h5st代码
  • SpringMVC Day 10 : 拦截器
  • 最小化安装移动云大云操作系统--BCLinux-R8-U2-Server-x86_64-231017版
  • 【嵌入式开发学习】__hex文件、bin文件、axf文件的区别
  • #Java异常处理
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • co.js - 让异步代码同步化
  • echarts花样作死的坑
  • Git同步原始仓库到Fork仓库中
  • JavaScript 一些 DOM 的知识点
  • JS变量作用域
  • Spring Boot快速入门(一):Hello Spring Boot
  • Spring-boot 启动时碰到的错误
  • 类orAPI - 收藏集 - 掘金
  • 面试总结JavaScript篇
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​ubuntu下安装kvm虚拟机
  • ​第20课 在Android Native开发中加入新的C++类
  • (145)光线追踪距离场柔和阴影
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)Linux——Linux常用指令
  • (一)Linux+Windows下安装ffmpeg
  • (转)【Hibernate总结系列】使用举例
  • .htaccess配置常用技巧
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NetCore 如何动态路由
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • @angular/cli项目构建--http(2)
  • [4.9福建四校联考]
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [Android View] 可绘制形状 (Shape Xml)
  • [bzoj 3534][Sdoi2014] 重建
  • [Dxperience.8.*]报表预览控件PrintControl设置
  • [GN] 后端接口已经写好 初次布局前端需要的操作(例)
  • [HAOI2016]食物链
  • [HNOI2015]实验比较
  • [MySQL]基础的增删改查
  • [NLP] LlaMa2模型运行在Mac机器
  • [python] `sys.settrace` 跟踪函数
  • [Pytorch]:PyTorch中张量乘法大全
  • [SAP] 解决程序提示被某用户使用或锁定的问题
  • [SDOI2017]数字表格