文档首页> 技术教程> CPU steal time:邻居干扰的信号

CPU steal time:邻居干扰的信号

发布时间:2026-01-08 13:31        更新时间:2026-01-09 02:56
top 命令 CPU 区域里有一列 st,多数人从没留意过。它反映的是虚拟化环境里被"邻居"占走的算力。业务莫名变慢、自家进程却都不忙时,下一眼就该看它。 一、st 是什么 st(steal time)表示 hypervisor(虚拟化层)把本该分配给这台虚拟机的 CPU 时间片挪去给了其他虚拟机。CPU 使用率本来按用户、系统、等待、空闲拆分,虚拟化环境里多出这一项"被偷走"。物理机上没有这一列,它只在虚拟化环境出现。通俗讲,你买到的份额被挤占了多少,就记在这里。st 只记录 CPU 时间片层面的挤占,内存和磁盘的争抢不体现在这一列,别过度解读。 二、怎么观察 top 里 st 持续高于 5% 值得注意,超过 10% 说明干扰明显;vmstat 1 的 st 列同样能看,还便于留存历史,观察至少覆盖一个业务高峰,全天采样才有代表性。区分两种忙:us 高是自己业务在消耗算力,属正常;st 高是份额被别人抢走,问题不在自己的代码里。监控大盘上把 us、wa、st 三条线画在一起,谁是主因一眼分明。 三、持续偏高怎么办 第一步记录证据:截取 st 曲线,标注时间范围与实例规格;第二步排除自身因素,确认没有把实例跑在配额之外的重负载上;第三步拿着数据联系云服务商,请平台核查宿主机负载或迁移实例。顺云用户可通过官网工单提交曲线截图,平台侧核查宿主机负载。数据齐全的工单,处理路径比一句"感觉卡"短得多。 四、与选型的关系 云平台普遍用超售提高资源利用率,偶发的 steal 属于正常波动,持续偏高则是调度失衡。选型时除了看单价,也该关注服务商对资源争抢与保障的说明;对稳定性敏感的业务,选大规格实例本身就是减少争抢的手段,邻居越少干扰越小。 监控里把 st 加进采集项,争论来争论去,曲线最有说服力。