
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 個の物理コアすべてが点灯しました。この回答を拡張して、なぜこれで問題が解決したのかを説明してくださる方がいらっしゃれば幸いです。