首页 / 指南 / 如何用 CPU Steal Time 判断 VPS / 云服务器超卖

如何用 CPU Steal Time 判断 VPS / 云服务器超卖

配置看起来不差,业务却时不时卡顿?很多时候问题不在你的代码,而在宿主机把物理 CPU 分给了别的租户。CPU Steal Time 是从虚拟机内部就能看到的核心信号,也是云服务器超卖检测最有效的切入点。

更新于 2026-08-05

什么是 CPU Steal Time?

Steal Time(在 top 里常显示为 st,在 mpstat 里为 %steal)表示:你的虚拟 CPU 已经准备好执行,但 Hypervisor 把物理核分给了其他虚拟机,你被迫等待的时间占比。

它不是“CPU 使用率高”,而是“CPU 想用却拿不到”。因此 Steal Time 能区分应用自身忙与宿主机争抢——后者正是超卖与恶邻干扰的典型表现。

怎样的 st 算正常?

不同业务对抖动敏感度不同,下面是业界常用的经验阈值(需在业务高峰期持续观察,而不是空闲凌晨看一眼):

  • 低于约 2%:通常健康,宿主机负载可控
  • 约 2%~5%:轻度争抢,高峰可能有体感波动
  • 约 5%~10%:中度超卖迹象,延迟抖动值得警惕
  • 持续高于约 10%:重度争抢,建议取证、投诉或迁移

手工检测:三条命令

SSH 登录后,在业务高峰各采样本 1~5 分钟:

  • top:看第三行 %Cpu(s) 中的 st
  • vmstat 1:观察 st 列是否持续抬升
  • mpstat 1(需 sysstat):关注 %steal

只看 st 还不够

st 反映 CPU 争抢,不直接等于“超卖比例”。要交叉验证:磁盘 await/%util、持续压测下的性能断崖、不同时段对比(晚高峰 vs 凌晨)。

若 st 高且应用 p95 延迟同步升高,基本可以认定是基础设施侧问题,而不是单纯调优应用能解决的。

用 CloudWorth 一键完成超卖取证

CloudWorth 把高频 Steal Time 采样、磁盘虚标检测、硬件代际识别与价格对撞做成零依赖探针,约 10 秒生成可导出的 FinOps / 维权报告。

适合不想手工拼 top + fio + 表格的开发者与运维:打开 getcloudworth.com,获取探针命令即可开始检测。