HyperV VM に負荷がかかっているときに、HP Proliant DL380 G6 が 12 個の物理コアのうち 6 個しか使用しないのはなぜですか?

HyperV VM に負荷がかかっているときに、HP Proliant DL380 G6 が 12 個の物理コアのうち 6 個しか使用しないのはなぜですか?

HP Proliant DL380 G6 (Windows Server 2016 を実行) で HyperV VM (Ubuntu 20.04 を実行) に負荷がかかっている場合、12 個の物理コアのうち 6 個のみが使用されています。つまり、2 個の CPU のうち 1 個のみが使用されています。以下は、タスク マネージャーのスクリーンショットです。

ここに画像の説明を入力してください

これは、プロセッサ 2 のみが P1 の電源状態に入るため、ILO (下記) によって確認されます。

![ここに画像の説明を入力してください

私の HyperV VM はマシン上の唯一の VM であり、24 個の仮想プロセス (サーバーには 12 個の物理コアと 24 個の論理コアがあるため、論理コアごとに 1 個) をプロビジョニングしています。以下は、私の HyperV VM のプロセッサ設定のスクリーンショットです。

ここに画像の説明を入力してください

HyperV VM で 12 個の物理コアすべてを活用したいと考えています。 これを実現するにはどうすればよいでしょうか。また、VM が利用可能なすべてのコアを活用していないのはなぜでしょうか。

ホスト上でマルチスレッド ワークロードを実行すると、12 個の物理コアすべてが期待どおりに使用されていることに注意してください (以下を参照)。

ここに画像の説明を入力してください

答え1

VM で「動的メモリ」が有効になっていることを思い出したので、「動的メモリ」をオフにして VM を実行してみました。VM のストレス テストを行った後、12 個の物理コアすべてが点灯しました。この回答を拡張して、なぜこれで問題が解決したのかを説明してくださる方がいらっしゃれば幸いです。

関連情報