(無償) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

2011年12月25日日曜日

【VMware vSphere Hypervisor 5.0.0】仮想マシンのスワップを無効化し高速化を期待する【ESXi 5】

ESXI 5では、ゲストマシン動作時にホスト物理メモリを占有するのをできるだけ少なくするために、
ホスト側でメモリスワップファイルを設けている。
ゲストに割り当てられたメモリの一部を、ホスト側でメモリスワップファイルに書き出しているようだ。
これはデフォルトの動作である。

しかし、ゲストに割り当てられるメモリを全てホスト物理メモリから与えてやり、メモリスワップファイルを無効にすることができる
これによって、ゲストマシンの高速動作を期待できる。
また、SSDを使っている場合にはスワップファイルへの書き込みによるディスク劣化を防げるのだろう。

スワップを使わないようにする設定は、vSphere Clientで行える
今回扱った仮想マシンのバージョンは、8だった。


<手順>
1、対象の「仮想マシン」をシャットダウンしておく。

2、対象の「仮想マシン」を右クリックし、「設定の編集(E)」を開く。

3、「リソース」タブを開き「メモリ」を選択して、右欄の「リソース割り当て」で、
「すべてのゲスト メモリを予約(ロック)」にチェックを入れ、「OK」をクリックする。


設定後、仮想マシンを起動させた。(物理メモリに余裕がなければ、エラーで起動しなかった。
例えば、2.5GBのメモリを割り当てていた仮想マシンでは、
設定前ではスワップファイルの大きさが2.4GBだったのに対し、設定によってそのサイズは、0になった

○設定(スワップファイル有効時)
-rw-------    1 root     root        50.0M vmx-guestos-xxxxxxxxxx-1.vswp
-rw-------    1 root     root         2.4G guestos-yyyyyyyy.vswp

○設定スワップファイル無効時
-rw-------    1 root     root        50.0M vmx-guestos-xxxxxxxxxx-1.vswp
-rw-------    1 root     root            0 guestos-yyyyyyyy.vswp

ただし、50メガバイトのファイルはそのままだった。

そして仮想マシンの動作は、体感であるが軽快になったと思う。



◎ちなみに、変更を行った仮想マシンの設定ファイル(.vmxファイル)上には、次の項目が追記されていた。

多分、上二つは、vmware toolsをインストールしたときに設定された項目だと思う。
下二つのみが、スワップ無効化の設定によって、今回追記されたのだと思う。
tools.syncTime = "FALSE"
unity.wasCapable = "FALSE"
sched.mem.min = "2500"
sched.mem.pin = "TRUE"
前述の通りvSphere Clientを使って設定できるので、.vmxファイルを直接操作する必要はない。

(注意)
ホストメモリが十分ではない場合、ゲストマシンの起動が許可されない。次のようにエラーになる。
ぎりぎりでは駄目みたい。
仮想マシンのパワーオンに失敗しました。
仮想マシンをパワーオンできませんでした: メモリ リソースの許可チェックに失敗しましたリソース管理設定の詳細については、VMware ESX リソース管理ガイドを参照してください。
グループ vm.236833: 仮想マシン vmm0:guestos-yyyyyyyy のメモリ割り当てパラメータが無効です。(分: 640000、最大: -1、minLimit: -1、共有: -1、単位: pages)
グループ vm.236833:仮想マシンを受け入れられません:メモリ の受け入れチェックが失敗しました。要求された予約: 667609 pages


(参考)
Migrating to ESXi 5 Worth the Trip
< http://wfcastle33.wordpress.com/2011/11/02/migrating-to-esxi-5-worth-the-trip/ > 2011年12月25日