别想宰我,怎么查看云厂商是否超卖?详解 cpu steal time

CPU steal time 表示虚拟 CPU 等待宿主机真实 CPU 的时间比例。本文说明如何用 top 查看 st 指标,什么时候需要关注,以及如何区分自身负载高和宿主机资源争抢。

作者 巴辉特

核心要点

  • CPU steal time 只在虚拟化环境中有实际意义,物理机上通常为 0。
  • top 命令里,st 字段就是 steal time,表示虚拟 CPU 等待真实 CPU 的时间百分比。
  • 如果 st 长时间超过 10%,例如连续 20 分钟,就需要介入分析。
  • 多台同类虚机同时负载高,更像业务自身负载问题;只有单台 st 明显高,更像宿主机资源争抢。
  • 处理方式通常是优化或升配业务、重启迁移虚机,或联系云厂商协助迁移到更空闲的宿主机。

据说有些云厂商会超卖,宿主有 96 个核心,结果卖出去 100 多个 vCPU,如果这些虚机负载都不高,大家相安无事,如果这些虚机同时运行一些高负载的任务,相互之间就会抢占 CPU,对应用程序有较大影响,我应该如何查看我的 CPU 是否被抢占了呢?

什么是 cpu steal time?

如果你在物理机上查看这个指标,这个指标必然是 0,只有虚拟机才需要关注这个指标。我们看一下 CPU steal time 的定义(来自 ibm.com):

Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

虚拟机毕竟是被虚拟出来的,虚拟机要用到 CPU,最终还是要通过宿主机的 CPU 来完成,如果宿主机的 CPU 正在为其他虚拟机服务,那么当前虚拟机就会等待,这个等待的时间就是 steal time。

CPU 跟内存不一样,内存是可以做到硬限制的,如果云厂商超卖,CPU 抢占确实有可能会影响到你的应用程序,所以,我们需要关注这个指标。具体如何查看呢?

如何查看 cpu steal time?

使用 top 命令即可:

别想宰我,怎么查看云厂商是否超卖?详解 cpu steal time - top 命令

上图中,st 就是 steal time,这个指标是百分比,如果是 10,就是 10%。我这个环境是 0%,说明非常健康。

可以把 st 理解成虚拟机“想跑但没拿到真实 CPU”的时间比例。它不是应用进程自己主动空闲,也不是单纯的系统态 CPU 开销,而是虚拟化调度层面的等待时间。

何时需要关注 cpu steal time?

如果这个值长时间(比如连续 20 分钟)超过 10%,就需要介入处理。

观察结果 含义 建议动作
st 长期为 0 或很低 虚拟 CPU 基本没有明显等待 持续监控即可
st 短时间尖刺 可能是宿主机瞬时竞争或业务瞬时高峰 结合业务流量和其他主机对比
st 连续 20 分钟超过 10% 虚拟 CPU 长时间等待真实 CPU 需要排查自身负载或云厂商宿主机竞争

如何应对 cpu steal time 过高?

有两种情况,可能都会引起这个值变高,一个是你自己的程序本身负载比较高,你需要优化程序或升配,一个是云厂商超卖,需要迁移虚机到空闲宿主机上(重启虚机,或者直接联系云厂商解决)。如何区分这两种情况呢?

比如你有个 web 程序,部署在 4 台虚机上,4 台虚机负载都高,那大概就是情况一,如果只有一台虚机 st 高,其他虚机都很低,那就是情况二。

别想宰我,怎么查看云厂商是否超卖?详解 cpu steal time - 判断是自己的程序的问题还是云的问题

FAQ

CPU steal time 高一定是云厂商超卖吗?

不能直接下这个结论。它说明虚拟 CPU 在等待宿主机真实 CPU,但还需要结合多台虚机的负载、业务流量、实例规格和历史趋势判断。只有单台虚机异常高,而同类业务其他虚机正常时,才更像宿主机资源竞争。

物理机需要关注 st 吗?

一般不需要。文章中的判断主要面向虚拟机,物理机上这个指标通常为 0。

业务自身负载高和宿主机争抢怎么区分?

看同一业务的多台虚机。如果多台同时 CPU 使用率和业务负载都高,优先按业务自身负载处理;如果只有一台 st 长时间高,其他机器正常,可以考虑迁移虚机或联系云厂商。

小结

CPU steal time 是判断虚拟机 CPU 是否被宿主机调度竞争影响的重要信号。用 topst 字段即可开始排查,但不要只凭单个瞬时值判断超卖。更稳妥的做法是持续监控趋势,并和同业务、同规格、同时间段的其他虚机对比。

联系我们交流

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

标签 云厂商 监控
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云