web-dev-qa-db-ja.com

VM 2進数のラウンド量(2048MB、4096MBなど)のメモリを提供する理由はありますか?

タイトルはほとんどすべてを物語っていますが、基数10に丸めて2000MBを実行する代わりに、VM 2048MBのメモリを提供することに利点はありますか?

26
Nate

サーバーの物理メモリは2の倍数であるため、他の倍数を使用すると均等にスライスされます。それらが適切に調整されている場合、SLATなどでいくつかの信じられないほどマイナーな改善があるかもしれません。それ以外の場合はありません。

10
Chris S

Hyper-Vは、内部で2MBのチャンクにメモリを割り当てます。プロセッサが第2レベルのアドレス変換(SLAT)をサポートしている場合、ハイパーバイザー自体は効率のために2MBのページテーブルエントリを使用します。これは、動的メモリが有効になっているほとんどすべてのVMオフ。

それ以外は関係ありません。

13
Jake Oshins

他の答えが言ったことを明確にするためだけに;ここで定義されている制限は、基本的にはゲストではなく、仮想マシンのソフトウェアに対するものです。つまり、ゲストOSがメモリのページを要求すると、定義された増分(つまり、4KB)で要求します。したがって、仮想マシンに4097KBのRAMを搭載するように定義し、ホストVMが4KBのページサイズを使用していた場合、合計4100KBのRAM仮想マシンに。

ただし、ゲストOSが1KBのページサイズを使用し、ホストOSが4KBのページサイズを使用した場合、ホストOSは基本的に4KBのスペースを許可し、そのうち1KBのみが使用されます。メモリのチャンク。したがって、認識できる量のスペースを実際に無駄にすることはありません。

注意すべき点として、ホストOSとゲストOSの間の調整は、最後の「オフビット」を除いて、ここでは要因ではありません。

7
Andrew M.

それは伝統の問題であり、物理システムの構築方法と整合しているのではないかと思います。物理システムには2進数のメモリがあり(少なくともこれまでに作成されたすべてのx86で、これは真実です)、メモリの管理でこれを期待するOSは多くないにしても可能性があります。

つまり、仮想マシンは架空のマシンではなく、実際のマシンを反映しているからです。あまり技術的な答えではありませんが、それが本当の答えだと思います

3
Journeyman Geek

あんまり。 Hyper-v動的メモリは、システムが使用するものだけを割り当てます。割り当てる金額が起動値です。動的メモリを使用していない場合、私が見ることができる唯一の利点は、物理メモリを仮想メモリに適切に配置することです。

1
Jim B