Hyper-Vは動的メモリを使わないと仮想マシンに割り当てたメモリがホストで予約される

Hyper-VVMwareの仮想化基盤の運用でいくつか違う点がありますが、その一つがメモリの設定です。仮想マシンのメモリの割り当てで、ESXiはホストが持つ以上のメモリを割り当てることができますが、Hyper-Vの場合は、割り当てたメモリをそのままホストから予約してしまいます。


その為、使わないかもしれないけど余分に割り当てようなんてすると、一気にホストOSのメモリが不足してしまいます。


そこで便利なのが動的メモリです。どこかの技術サイトでVMwareと同じ技術を使っていると書かれていた気がしますが、やっぱりVMwareとは設定方法なども含めて違いがあります。


ちょっと記事が古いですが、Hyper-Vのメモリの考え方については以下のMSのブログが参考になります。

 

 

仮想化: Hyper-V のメモリ使用状況を最適化する

https://docs.microsoft.com/ja-jp/previous-versions/technet-magazine/hh750394(v=msdn.10)?redirectedfrom=MSDN

 

まずはホストOSに割り当てるメモリのサイズについて。2GBは確保したほうがよさそうです。

少なくとも 300 MB をハイパーバイザー用に、512 GB を親パーティションで実行しているホスト OS 用に予約する必要があります。ただし、多くのベスト プラクティス ガイドラインには、親パーティション用に 2 GB のメモリを予約する必要があると記載されています。

 

また、Hyper-V では、親パーティションに直接メモリを割り当てることはできないので、親パーティションでは、基本的に、余剰メモリを使用します。そのため、ホスト サーバーのメモリのうち 2 GB のメモリは割り当てられていない状態を維持して、親パーティションで使用できるようにすることを覚えておく必要があるそうです。


パフォーマンス的には動的メモリよりも静的メモリの方が出るとあります。後、アプリケーションによては動作しないことがあるようです。とは言いながらも、活用しない手はないので、クライアントOSや影響度の少ないサーバーでは使ってもいいのではないかと思いますね。何か問題が起こったら戻すという運用ですかね。