如何用 CPU Steal Time 判斷 VPS / 雲端伺服器超賣
規格看起來不錯,業務卻時不時卡頓?很多時候問題不在你的程式,而在主機把實體 CPU 分給了別的租戶。CPU Steal Time 是從虛擬機內部就能看到的核心訊號,也是雲端伺服器超賣檢測最有效的切入點。
什麼是 CPU Steal Time?
Steal Time(top 常顯示為 st,mpstat 為 %steal)表示:你的虛擬 CPU 已準備好執行,但 Hypervisor 把實體核分給其他虛擬機,你被迫等待的時間占比。
它不是「CPU 使用率高」,而是「CPU 想用卻拿不到」。因此能區分應用自身忙碌與主機爭搶——後者正是超賣與惡鄰干擾的典型表現。
怎樣的 st 算正常?
請在業務高峰持續觀察:
- 低於約 2%:通常健康
- 約 2%~5%:輕度爭搶
- 約 5%~10%:中度超賣跡象
- 持續高於約 10%:重度爭搶,建議取證或遷移
手動檢測:三條指令
尖峰時段採樣 1~5 分鐘:
- top:看 %Cpu 中的 st
- vmstat 1:觀察 st 欄
- mpstat 1:關注 %steal
只看 st 還不夠
請交叉驗證磁碟 await/%util、持續壓測斷崖、尖峰與離峰對比。若 st 高且應用延遲同步升高,多半是基礎設施問題。
用 CloudWorth 一鍵完成超賣取證
CloudWorth 將高頻 Steal Time 取樣、磁碟虛標、硬體世代與價格對撞做成零相依探針,約 10 秒產出可匯出的 FinOps / 維權報告。前往 getcloudworth.com 取得指令即可。