web-dev-qa-db-ja.com

仮想マシンのCPU使用率

2.0GHzで実行されている1つの論理プロセッサと2つのVMが実行されているホストマシンがあります。各VMは100%の使用率で実行されています(VM内のタスクマネージャーによる)。この「100%」は、実際には各VMは、ホストマシンの使用可能なCPUリソースの約50%を使用しています。VMの1つを停止した場合にのみ、実行中のVMは実際には物理CPUの100%を使用しています。

このプロセスはどのように機能しますか?物理プロセッサが2.0GHzで実行されている場合、基本的に、それぞれが1.0GHzで実行される2つの仮想プロセッサを作成していますか?では、両方のVMで100%の使用率が見られる場合、それぞれで1.0GHzの100%について話しているのでしょうか。そもそも、その使用率はどのように導き出されますか?

ありがとうございました!

2
pauliwago

仮想マシン内に表示される使用量は、CPUを取得したかどうかに関係なく、CPUが必要だった時間の割合です。基本的に、100%は、その仮想マシンで使用可能なCPUの100%を意味します。

物理プロセッサが2.0GHzで実行されている場合は、仮想プロセッサも実行されます。ただし、実際のコアは1つしかないため、一度に実行できる仮想プロセッサは1つだけです。両方のVMで100%の使用率が見られる場合は、それぞれVM常に可能な限り多くのCPUが必要です。通常、それぞれが使用可能なCPUの50%に近くなります。

このようなことを言わないでください:「それで、両方のVMで100%の使用率を見るとき、それぞれで1.0GHzの100%について話しているのですか?」それは基本的にナンセンスです。時速50マイルの車を1日おきに使用する場合、それを時速25マイルの100%とは言いません。料金はそのようには機能しません。 CPUには作業を行うためのある程度の容量があり、仮想マシンはそれを共有します。それぞれが取得できるすべてのものを必要とする場合、それぞれがCPUの容量の約50%を取得して作業を行います。 2.0GHzはコアクロック速度であり、作業を行うための容量ではありません。したがって、それを分割することは意味がありません。

4
David Schwartz

物理CPUコアでは、一度に1つのVM)しか実行できません。vmkernelはVM間でcpuコアを非常に高速に切り替えます。同じCPUで同時に実行されているように見えます。時間。

1
Gabrie