PR

[VMware] 実メモリを使わせる

VMware Server2 は優れていて、実メモリよりも多くのメモリを定義して仮想マシンを作成できる。以前利用していたXen ではメモリが少ないと仮想マシンを定義できずに悩んだこともあったからありがたい。また、VMware Server2 は今後、各仮想マシンで共通する部分をシェアしてさらにメモリ消費量を抑えると行っている。なんとなくFreeBSD の jail のような印象を受けた。

VMware Server2 のメモリ消費量が少ないことはWebUI にログインしてステータスを確認すればすぐわかる。例えば、512MB メモリの仮想マシンを2 つ立ち上げ、少し経つと論理的には1G のメモリを消費しているはずなのに実際は数百M程度だ。

スポンサードリンク

通常、これらはありがたいのだが、実メモリを消費する代わりにnvram ファイルにメモリの内容を書き込んでいる。VMware Server2 はディスクアクセスが多くなると落ちる。テストしている環境にもよるだろうが、筆者環境ではあまり負担のかかっていないハードウェアでWindows7 を立ち上げると落ちる。機嫌がよければ立ち上がってくれることもある。

まず、実メモリが豊富な状態ではメモリを少なくしてくれる機能は過保護だから、実メモリを使わせたい。それから、ディスクアクセスが多くなると落ちるのだからWindows7 の立ち上がりとnvram の読み書きによる非常に多いディスクアクセスを抑制したい。

# そもそも落ちるのはどうだろうと思うけれど。…素晴らしいマシンを用意できているわけではないが、OS を32bit 64bit 変えてみたり、メモリをたくさん積んだり、高速なハードディスクにしても落ちるものは落ちる。今のところできる事は実メモリを使わせることくらいだ。それに、「冬眠」しているサーバーにアクセスがあったときでも、オーバーヘッドを少しでも改善したい。

定義ファイルの書き換え

Add New Entry をクリックする。(設定ファイルを直接書き換えても同じ)

MemTrimRate に 0 を設定。

mainMem.userNamedFile を false に設定。(間違い)

mainMem.useNamedFile を false に設定。

OK をクリックして、期待通りの動作をするか確認する。

確認

実行前

.vmem ファイルが割り当てメモリサイズで作成されている

実行後

.vmem ファイルが存在しない(=物理メモリが使われている)

※VMware Server2 で確認した

参考文献

コメント