専用vCPUを2022年以降のサーバーCPUで・NVMe・KYC不要。暗号資産で支払い: BTC, USDT, USDC, ETH, SOL, LTC, XMR
言語: 日本語
コア数を選択

ガイド · steal time · ノイジーネイバー

CPU steal timeとは何か、VPSで確認するにはどうすればよいですか?

他のテナントがあなたのプロセッサを消費しているときに、VPS内部でそれを示す唯一のカウンタ。Linuxにおける意味、値を読み取る4つの方法、そしてその数値が共有vCPUと専用vCPUについて何を語るのか。

最終更新:

概要

CPU steal timeとは何か、VPSで確認するにはどうすればよいですか?

CPU steal timeとは、ハイパーバイザーが別のマシンを実行している間に、あなたのvCPUが実行可能な状態であった時間の割合です。stealが10%の場合、負荷の高いジョブは実行時間の約10分の1を失います。2026年11月2日時点で、専用CPUを謳う22のKYC不要・暗号資産対応ホストのいずれもstealの測定値を公開しておらず、Cobaltfellも同様でした。Linuxはstealをstではtopに、%stealではmpstatに表示します。

steal timeとは正確には何ですか?

steal timeは、あなたの仮想CPUが処理を行おうとしたものの、物理プロセッサが別のゲストの処理で忙しかった時間を数えます。 Linuxのツールはこれをわずかに異なる3つの表現で説明しています:

  • top:「このVMがハイパーバイザーに奪われた時間」。
  • mpstat:ハイパーバイザーが「別の仮想プロセッサを処理していた」間の「不本意な待機」の割合。
  • /proc/stat:「仮想化環境で実行中に他のオペレーティングシステムで費やされた時間」で、Linux 2.6.11以降で計測されます。

カーネルのKVMドキュメントは、このカウンタを有用にする詳細を補足しています:stealはvCPUが実行されなかった時間であり、vCPUがアイドル状態だった時間はstealとして報告されません。ホストがどれほど混雑していても、アイドル状態のVPSはstealを示すことはできません。この数値は、CPUを要求したのに得られなかったときにのみ現れます。

この数値はハイパーバイザーに由来し、ハイパーバイザーがゲストカーネルに共有します。ゲストはハイパーバイザーが報告するものしか数えられないため、低い値をベンチマークの繰り返しで確認すべき理由がもう一つあります。

steal timeはどうやって確認しますか?

4つのコマンドで確認できます。ただし、アイドル状態のマシンではなく、実際のワークロードを実行している間に実行してください。 topとvmstatは、一般的なすべてのディストリビューションでprocpsパッケージに含まれています。mpstatはsysstatに含まれています(DebianとUbuntuではapt install sysstat、AlmaLinuxとRockyではdnf install sysstat)。

1. top:%Cpu(s)行のst値(1を押すとvCPUごとに1行表示、qで終了)
top
2. vmstat:60秒間、1秒ごとに1行、cpuグループのst列にstealを表示
vmstat 1 60
3. mpstat:すべてのvCPUの%stealを、60秒間1秒ごとにレポート
mpstat -P ALL 1 60
4. /proc/stat:10秒間のCPU時間に占めるstealの割合を、追加パッケージなしで表示
a=($(head -n1 /proc/stat)); sleep 10; b=($(head -n1 /proc/stat))
# fields 1-8: user nice system idle iowait irq softirq steal
all=0; for i in 1 2 3 4 5 6 7 8; do all=$((all + b[i] - a[i])); done
awk -v st=$((b[8] - a[8])) -v all=$all 'BEGIN { printf "steal: %.2f%%\n", 100 * st / all }'

/proc/statの最初の行は、すべてのvCPUをUSER_HZ単位(ほとんどのシステムでは100分の1秒)で合計します。スクリプトはこれを10秒間隔で2回読み取り、蓄積されたstealを経過したすべての時間で割ります。そもそも仮想マシン上で動作しているかを確認するには、systemd-detect-virtがハイパーバイザーの種類を表示し、KVMではkvmになります。

数値はどう読めばよいですか?

「良好な」steal値を定める標準はありませんが、計算は単純です:常にCPUを必要とするジョブは、最大でも100%からstealを引いた時間しか得られません。 stealが5%なら要求した時間の約95%、25%なら約4分の3を得られます。1回のサンプルではなく、パターンを読み取ってください。

自分のワークロードが動いている間に見るべきパターン。アイドル状態のVPSではstealはカウントされません。
表示内容意味対処
ジョブがフル負荷で動作している間、すべてのvCPUで0何も奪われていない、またはハイパーバイザーがstealを報告していない異なる2つの時間帯に同じベンチマークで確認する
非ゼロのサンプルが数回出た後、再び0ホスト上での短時間の競合通常は何もしなくてよい。レイテンシに敏感なジョブならログを残す
負荷時に毎秒安定してstealが発生vCPUが他のゲストの後ろで待機している時間帯を記録し、1日計測し、ログをホストに送る
mpstat -P ALLで1つのvCPUだけにstealスレッドの1つがホストのより混雑した部分に配置されているチケットでvCPU番号を伝える
毎日同じ時間帯にstealが上昇スケジュールを持つ隣人:バックアップ、バッチジョブ、ピークトラフィック重いジョブを別の時間帯に移す、または専用vCPUに移行する
専用として販売されているプランで持続的なstealが発生その時点では約束が守られていませんホストに説明を求めるか、VPSの移動を依頼してください

CPUはノイジーネイバーと共有されていますか?

CPUに負荷をかけたときにstealが上昇し、その上昇が自分の作業ではなく時間帯に連動しているなら、他のテナントがあなたのプロセッサ時間を共有しています。 3つの確認で絞り込めます。

  1. 自分で負荷をかける。 実際のジョブ、またはCPU負荷の高いテストを実行し、別のターミナルでmpstat -P ALL 1を開いたままにします。自分の負荷に追従してstealが動くなら、ホストの空きCPUがプランの想定より少ないということです。
  2. 時間帯を比較する。 同じベンチマークを朝と夜に実行します。専用vCPUなら2つの結果は近くなるはずです。YABSやGeekbench 6でVPSをベンチマークする方法にコマンドがあります。
  3. プランを確認する。 共有vCPUで販売されているプランはstealが出ても問題ありません。その分安いのです。共有vCPUと専用vCPUの違いのページで、それぞれ何を得られるか説明しています。

stealがゼロなのに遅いVPSは、別の原因を指します。ディスク待ち(wa列、I/O待ちの時間)、メモリプレッシャー、またはアプリケーション自体です。

steal timeの原因は何で、どう直せばよいですか?

ホストが実行できるハードウェアスレッド数より多くのビジーなvCPUを売りすぎると、stealは増えます。 すべてのゲストが一斉にCPUを要求すると、待たされるゲストが出て、その待ち時間が各ゲストのstealとしてカウントされます。

できること(手間の少ない順):

  • 重い処理を移動する。ワークロードが許せば、ホストが静かな時間帯に移します。
  • ホストに依頼する。VPSを負荷の低いノードへ移してもらいます。mpstatのログがあれば依頼が具体的になります。
  • プランタイプを変える。 専用vCPUなら他のゲストがあなたのスレッドに入りません。専用vCPUを販売しているホストと、それぞれの表現、コアあたりの価格は2026年11月の専用CPU VPSのコアあたり価格にまとめています。

Cobaltfellの2026年11月2日の調査によると、身分証明書なしで暗号資産を受け付けるVPSホスト51社のうち22社が専用CPUを書面で約束しており、私たちが読んだページでsteal timeの測定値を示していたホストはありませんでした。

共有vCPUを増やしてもほとんど効果はありません。同じ混雑したホストのスレッドが増えても、同じキューで待つだけです。

データベースでは、stealは最も遅いクエリに最初に現れます。CPU stealがVPS上のPostgreSQLのp99レイテンシにどう影響するかで説明しています。

CobaltfellのVPSではstealはどの程度であるべきですか?

専用vCPUでは、steal timeはゼロかゼロに近い値になるはずです。当社は自社マシンで測定した数値を日付とともに公開し、推定値を公開することはありません。 各vCPUは1つのVPS専用に確保されます:vCPUはホストプロセッサのハードウェアスレッド1つ分です。お客様のvCPUはVPSに1対1で固定され、他のお客様に貸し出されることはなく、物理コアの2つのスレッドは常にペアで割り当てられます。そのため、2 vCPUごとに隣人と共有しない完全なコア1つになります。

当社自身のYABSおよびGeekbench 6の結果は、測定したsteal timeとともに、最初のテストマシンが納品され次第、日付を添えて公開されます。それまでは、当社独自のパフォーマンス数値は一切提示しません。そのページに日付入りの数値が載るまでは、上のコマンドを自分のVPSで実行してください。ジョブ実行中にstealが高いままなら、そのログでチケットを切るのに十分です。2026年の専用CPU VPSプロバイダー比較は、当社を含め同じ書面の基準で比較しています。サポートメールには、SSHキー、再インストール、ファイアウォールルールに関するご相談を含め、年中無休で12時間以内に担当者が返信します。

CPU steal timeについて他にどんな質問がありますか?

steal timeはiowaitと同じですか?

いいえ。steal(st)は、あなたのvCPUが実行したかったのにハイパーバイザーが別のゲストを実行した時間です。iowait(wa)は、ディスクやその他のI/Oの完了を待ってCPUがアイドルだった時間です。iowaitが高いならストレージ、stealが高いならCPUの競合を示します。

topにstの値が表示されないのはなぜですか?

topのマニュアルには、カーネルのバージョンによってはstフィールドが表示されない場合があると記されています。現在のディストリビューションでは%Cpu(s)行に表示されますが、古いカーネルや仮想マシン外では欠けているか、ゼロのままの場合があります。

専用サーバーでsteal timeは表示されますか?

ハイパーバイザーなしでハードウェア上で直接動くシステムには、stealする相手がいないため、カウンターはゼロのままです。stealはハイパーバイザー配下のゲストにのみ存在します。

stealの値はいくつから高すぎますか?

上限を定めた標準はありません。計算で考えましょう。stealが10%なら、CPU負荷の高いジョブは必要な時間の約90%しか得られません。専用vCPUで販売されているプランでは、作業中もstealはゼロかほぼゼロであるべきです。

steal timeはスループットだけでなくレイテンシにも影響しますか?

はい。待ちが発生するたびにそのvCPUで実行中だったリクエストが遅れるため、stealは平均値より先に、最も遅いリクエスト(データベースやAPIのp99)に現れます。

出典 (6)
  1. KVM固有のMSR:MSR_KVM_STEAL_TIME — The Linux Kernel documentation (checked 2026-11-02)
  2. proc_stat(5):カーネル/システム統計 — man7.org (Linux man-pages 6.19) (checked 2026-11-02)
  3. top(1)マニュアルページ — man7.org (procps-ng) (checked 2026-11-02)
  4. vmstat(8)マニュアルページ — man7.org (procps-ng) (checked 2026-11-02)
  5. mpstat(1) マニュアルページ — man7.org (sysstat) (checked 2026-11-02)
  6. systemd-detect-virt(1)マニュアルページ — man7.org (systemd) (checked 2026-11-02)

月額$10.49から・KYC不要

コア数を選択