web-dev-qa-db-ja.com

VMあたりの論理プロセッサの数?

2台のWindows Server 208 R2標準ゲスト仮想マシンを備えたWindows Hyper-V Server 2008 R2を実行するサーバー(クアッドコア)があります。

論理プロセッサの数設定(Processor)設定ページごとにVMデフォルトは1に設定されていますが、許可されています。 1から4までの「仮想プロセッサー」(または同等に私が想定している「論理プロセッサー」)を選択します。

私の質問は次のとおりです。a)これらの「仮想プロセッサ」/「論理プロセッサ」は、Intel Q6600クアッドコアCPUのコアに直接マップされますか? b)この場合、両方のゲストVMの数を2に設定することをお勧めしますか? Hyper-Vホストに十分なCPUパワーが残っていますか?

処理能力に加えて、特定の量のRAMをHyper-Vホスト用に予約できるかどうか、またはどのようにして予約できるかについても疑問に思っています。

7
Noldorin

これはトレードオフです。 4つの物理コアと2つのVMがあるとします。

各VMに2つの仮想コアをマップすると、ほとんどのゲストが期待どおりの結果を表示できます。 2つのコアが完全に制御され、多かれ少なかれそれを取得すると予想されます。 (ホストの負荷が高くないと仮定します。)ゲストのスケジューラーがタスクをコアに割り当て、タスクがすぐに完了することを期待していて、物理コアがないためにタスクが完了しない場合と混同しないことがよくあります。利用可能です。ただし、1つのゲストがCPU不足で、もう1つのゲストがアイドル状態の場合、2つのコアが親指をいじるようになります。

一方、各ゲストに4つの仮想コアを割り当てると、他のゲストとホストが必要としない場合、各ゲストは利用可能なすべてのCPUパワーを使用できます。ただし、別のソースからの負荷がある場合、ゲストのスケジューラーは期待する動作を取得せず、一部のタスクはすぐに開始され、一部のタスクはゲストのスケジューラーが簡単に予期して対処できない方法で開始されません。

私が推奨するのは、通常、各VMに多くのCPUが必要になると予想される可能性があるのと同じ数の物理コアを配置することです。例外は、非常に依存しているVMがある場合です。レイテンシ。物理ボックスをより重要なVMと共有する「より小さな」または「あまり重要でない」VMのコア数も減らします。

ハイパーバイザーは、スケジューリングポリシーの一部として、論理コアを物理コアに割り当てます。特に作成しない限り、固定マッピングはありません。 (レイテンシがクリティカルなVM用にコアを予約する特定のケースを除いて、私はお勧めしません。)

4
David Schwartz

いいえ、論理プロセッサと物理プロセッサの直接のマッピングはありません...それ自体...基本的に、特定の物理コアに設定されたアフィニティを持つ各論理プロセッサに対して新しいスレッドが作成されます...したがって、各スレッドは100を消費できます各コアのリソースの%。 2つのマシンを4つすべてのコア(2x4論理コア)に割り当てることは、適切な場合とそうでない場合があります。アプリケーションがCPUを集中的に使用している場合、または両方のマシンで多数のスレッドを生成する場合...両方が定期的に遅延して他のマシンが完了するのを待機します...インスタンスごとに専用コアを割り当てると、タスクをスローする遅延が最小限になりますCPU。

ゲストが消費できる量を制限する以外に、特定の量のRAM=ホストに捧げることはできません。他の仮想フレームワークではできますが、hyper-vは昔ながらの人のすべての鐘と笛のないブロックの新しい子供。

1
TheCompWiz