什么是 CPU 窃取时间?

Posted rtoax

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是 CPU 窃取时间?相关的知识,希望对你有一定的参考价值。

What is CPU steal time: Site24x7

CPU 窃取时间,也称为被盗 CPU,是云服务器中的虚拟 CPU 非自愿地在物理 CPU 上等待其处理时间的时间百分比。

在云环境中,管理程序充当物理服务器与其虚拟化环境之间的接口。该软件层安装在物理硬件上,通过将 CPU 时间分配给虚拟机 (VM)、网络操作、存储 I/O 请求等进程来管理所有任务。

CPU 窃取时间发生在进程准备好由虚拟 CPU 执行时,但它正在等待管理程序为其分配物理 CPU。发生这种情况是因为管理程序正在为另一个 VM 提供服务。

虚拟环境中的 CPU 时间

VM 与虚拟环境中同一主机上的其他 VM 共享其资源,例如 RAM、硬盘、CPU 周期等。如果 VM 是物理服务器上具有相同负载和大小的四个相同 VM 之一,简单的数学表明每个 VM 应该获得 25% 的 CPU 周期。

然而,在大多数情况下,VM 最终会消耗超过分配的周期。在极少数情况下,如果它没有获得分配的 CPU 周期,窃取时间会增加。

识别和跟踪 CPU 窃取时间

在云环境中将系统作为 VM 运行时,几乎不可能避免一些窃取时间。这是因为 VM 与其他 VM 共享物理服务器。

在 Linux 终端上运行 top 命令可以查看 VM 的窃取时间:

 

top 命令显示系统摘要以及当前由 Linux 内核管理的进程或线程的列表。

如上面屏幕截图中突出显示的,窃取时间标记为st%st。如果窃取时间的值为20st,则表示总进程时间的 20% 用于等待分配物理 CPU。

st 可以具有的最大值为 100.0。这是最坏的情况,虚拟 CPU 什么都不做,只是等待管理程序分配物理 CPU。幸运的是,这种情况非常罕见。

CPU窃取时间的原因

导致 CPU 窃取时间长的主要原因有两个:

  • 进程需要的不仅仅是分配的 CPU

    当负载繁重的进程在 VM 上运行时,分配给它的 CPU 周期可能不足以处理工作负载。

  • 物理服务器被虚拟机超载

    在这种情况下,云服务器提供商为物理服务器超额订购了虚拟机,使得物理 CPU 无法处理这些进程。

不幸的是,仅通过查看抢断时间很难确定这两种情况中的哪一种情况。还有其他因素需要考虑。但是,如果在不同的主机上运行具有相似工作负载的相同虚拟机,则可能会找出属于哪种情况。

CPU窃取时间长的问题

在具有高窃取时间的虚拟机管理程序上运行的 VM 可能会导致严重问题,包括:

  • 慢 I/O
  • 页面加载时间较慢
  • 较慢的数据库查询时间
  • 报告处理速度较慢
  • 由于无法快速处理异步任务而增加了队列大小
  • 由于启动更多服务器来处理相同负载而增加了基础架构成本

对服务器上的高窃取时间零容忍是明智的。被盗 CPU 会减慢机器速度,甚至导致它们在极端情况下完全停止。

何时担心

如果 CPU 窃取时间低于 10%,则无需担心,应用程序应该可以顺利运行。但是,如果窃取时间的值大于 10%(即高于正常值大约 20-30 分钟),VM 的运行速度可能比预期慢。如果窃取时间仍然很高,则表明 CPU 争用,这会降低应用程序的性能。

修复高 CPU 窃取时间

如上所述,在大多数情况下,CPU 窃取是由于分配不当和资源不足导致 CPU 过载。现在让我们看看一些可能的修复:

  • 如果 CPU 窃取时间突然增加,第一个可能的解决方案是手动终止 VM 并将其重新启动到另一台物理服务器。但是,如果根本原因是应用程序中的一些缓慢且低效的代码,那么这将只是一个临时修复。
  • 在很多情况下,物理服务器的超卖是 CPU 窃取时间的根本原因。在这种情况下,服务器提供商应该限制每个 VM 使用的处理能力。
  • 如果分配给 VM 的 CPU 资源不足以处理请求,请通过扩展处理时间或处理器内核来增加它们。
  • 如果没有财务限制,升级虚拟机是从根本上解决问题的最快、最可靠的方法。

概括

在将应用程序部署到虚拟化计算环境时,CPU 窃取时间是一个值得关注的关键指标,因为它会以多种方式影响应用程序。通过监控窃取时间并确定其正确原因,您可以采取适当的措施来减少它。

以上是关于什么是 CPU 窃取时间?的主要内容,如果未能解决你的问题,请参考以下文章

什么是 CPU 窃取时间?

htop 报告 100% cpu 窃取时间,在 virsh restore 后 top 报告 0%

CPU瓶颈分析工具

CO88运行时间过长解决

性能测试三十九:Jprofiler分析CPU过高和响应时间长的问题

x86 CPU,危!最新漏洞引发热议,黑客可远程窃取密钥,英特尔“全部处理器”受影响...