web-dev-qa-db-ja.com

iostat-「スチール」フィールドの意味は?

iostatの出力には、stealフィールドがあります。manページによると、このフィールドは次の目的で使用されます。

ハイパーバイザーが別の仮想プロセッサーを処理しているときに、1つまたは複数の仮想CPUが非自発的待機に費やした時間の割合を示します。

しかし、それはどういう意味ですか?カーネル自体がビジーでCPUを管理できず、CPUがアイドル状態になることを意味しますか?

4
Eric Wang

ハイパーバイザーとは、VMware、XEN、VirtualBoxなどの仮想環境を管理するレイヤーを意味します。

したがって、スチールフィールドは、仮想化環境の問題やオーバーサブスクリプションを検出し、監視する興味深いフィールドである必要があります。フィールド自体は、VM CPUが他のVM(仮想マシン)が順番(スライス)を完了するまで、またはハイパーバイザー自体のタスクを待機する必要がある時間を意味します。

Stフィールドは、iostatvmstatsar、およびtopコマンドにあります。

ただし、この thread は、スチールフィールドがVmWare VMでサポートされていないことを確認します(私はVMware 5.5でテストし、それを裏付けています)。 VirtualBoxはCPUスチール時間データも提供しません。 XenとKVM仮想環境でサポートされています。

vmstatもCPU領域に同じフィールドがありますが、Debian 8以降です。sarが機能するには、sysstatデータ収集を有効にする必要があります。

man vmstat

st:仮想マシンから盗まれた時間。 Linux 2.6.11以前は不明。

関連スレッド スチール時間を監視するためのツール(st)

さらに読む: 仮想マシンから盗まれたCPU時間?

これは、ハイパーバイザーがVM内ではなく、何かを実行するようにスケジュールしたときです。これは、別のVMまたはハイパーバイザーホスト自体の時間になる可能性があります。時間が盗まれなかった場合、この時間はCPUワークロードまたはアイドルスレッドの実行に使用されます。

11
Rui F Ribeiro