パフォーマンス
CPU steal timeとは?
Steal time is the proportion of time a virtual CPU was ready to run but the hypervisor gave the physical core to another guest. It appears as the "st" column in top and vmstat. Sustained values above 2–3% indicate contention and show up as tail-latency spikes rather than as uniformly slow throughput.
CPU steal timeが重要な理由
これはtopとvmstatの「st」列に表示されます。2〜3%を超える持続的な値は競合を示し、均一に遅いスループットというよりはテールレイテンシーのスパイクとして現れます。
実践でのCPU steal time
サーバーを実行しているときは、topやvmstatのst列に注目してください。一貫して2〜3%を超えている場合、CPUがワークロードが期待する以上に共有されています。コストは均一な速度低下ではなく、時間依存のジョブを台無しにするテールレイテンシのスパイクです。インスタンスサイズを変更するか、混雑していないホストに移動するかもしれません。無視すると、実際のボトルネックがハイパーバイザー側にあるのに、自分のチューニングで幽霊を追うことになります。
CPU steal timeについて人々が誤解していること
人々はCPUスティール時間を、自分のプロセスがCPUを消費しすぎている兆候と誤解することがよくあります。そうではありません。スティール時間は、仮想CPUが準備できていたが、ハイパーバイザーが物理コアを別のゲストに与えたことを意味します。修正:userやsystem列ではなく、st列を見てください。高いスティールは、問題がインスタンスの外部にあることを意味し、内部ではありません。
CPU steal time — よくある質問
VPSでCPUスティール時間が非常に高いのはなぜですか?
高いスティール時間は通常、ハイパーバイザーが過剰にサブスクライブされていることを意味します。同じ物理ホスト上の他のゲストがコアを競合しています。あなたのワークロードだけのせいではありません。stが2〜3%を超え続ける場合は、競合が少ないプロバイダーや専用コアへの移行を検討してください。
CPUスティール時間を自分で減らせますか?
インスタンスの内部から直接はできません。Steal time はハイパーバイザーによって課せられます。コードを最適化して CPU への依存を減らすことはできますが、実際の steal はホストの競合が減った場合にのみ低下します。場合によっては、別の物理ホストへの移行が役立つこともあります。
CPU steal timeが登場する箇所
- CPUスチールタイムとは何か、なぜ重要なのか? スチールタイムとは、仮想CPUが実行可能な状態でも、ハイパーバイザーが物理コアを他のユーザーに割り当てた時間の割合です。topの"st"列に表示されます。2〜3%を超えると、コアを競合していることを意味し、共有vCPUインスタンスで説明できないレイテンシスパイクの一般的な原因です。…
- VPSが遅いのはなぜですか? 可能性の高い順に、メモリ不足によるスワップスラッシング、ディスクIOの飽和、共有コアでのCPUスチールタイム、最適化されていないデータベース、ユーザーへのネットワーク遅延です。最初にfree -hとtopのst列を確認してください。これらで約80%の原因を特定できます。…