●リソース割り振りの優先度を用途に応じて高くするゲストOSがフォアグランド、バックグラウンドになっているときそれぞれのリソース割り当ての優先度を「高」にすることによって、ゲストOSへよりCPUリソースが割り当てられ性能があがる。
【設定方法】□すべてのゲストOSに対して設定する場合
[編集]>[環境設定]>[優先順位]を選択
□特定のゲストOSに対して設定する場合
[VM]>[設定]>[オプション]>[詳細] を選択
・ゲストOS上の処理がマウスやキーボードの入力権を取得しているときCPUリソースを消費する場合
フォアグラウンド入力→高・ゲストOS上の処理がマウスやキーボードの入力権を取得していないときでもCPUリソースを消費する場合
バックグラウンド入力→高●ホストOSのスワップ領域をゲストOSで使用しないホストOSのスワップ領域をゲストOSで使用してしまうことによるオーバヘッドをなくす。ホストOSの物理メモリのみを使用するようにする。
【設定方法】 [編集]>[環境設定]>[メモリ]を選択
補足メモリの設定→全ゲストOSのメモリを予約されたホスト RAM 内に適合させるにする。
●.vmemファイルを使用しないVMWareWorkstationでは、ゲストOSのページテーブルの内容をホストOS上の.vmemというファイルに書き出しバックアップをとっている。.vmemというファイルは、ゲストOSがサスペンド状態から復帰するために使うのだが(ハイバネーションのような感じ)、どうも起動時から.vmemファイルを作成しページテーブルのバックアップをとり続けているらしい。この機能を無効化することによって、.vmemへの書き込みによるオーバヘッドをなくす。ただしその場合、ゲストOSをサスペンドする際に初めて.vmemファイルを作成するようになるため、サスペンドに時間がかかるようになる。
また、Linuxでは下記設定を施しても効果がないようなので注意が必要である。詳しくか下記サイト参考。
http://wizardbible.org/43/43.txt【設定方法】vmxファイルに下記行追加
mainMem.useNamedFile = "FALSE"●メモリトリミングの無効化ゲストOSの未使用メモリをホストへ解放し再利用できるようにするメモリトリミング機能のオーバヘッドをなくす。
実際どれくらい効果あるか不明だが、メモリに余裕があるなら0にしておくのが無難。
参考にあるパフォーマンスベストプラクティスでは下記のように述べられている。
通常、トリミングはパフォーマンスにほとんど影響を及ぼさず、メモリの少ない状況で必要とされます。ただし、メモリ トリミングによって、ゲストOSのディスクのパフォーマンスが低下する場合があります。【設定方法】vmx ファイルに下記行追加
MemTrimRate=0もしくは下のやり方でGUIでも設定可能(VMWareWorkstation6.5以降)。
ゲストOSを開いた状態で、
[VM]>[設定]>[オプション]>[詳細]>[設定]を選択
メモリページのトリミングを無効にするにチェックを入れる
●ページ共有機能の無効化VMWareWorkstationでは、複数のゲストOSを立ち上げたとき、複数のゲストOSで共通のページ内容を互いに共有し、メモリ使用率を抑える機能がある。それを無効化することによって、そのオーバヘッドをなくす。
【設定方法】vmxファイルに下記行追加
sched.mem.pshare.enable = “FALSE”●仮想ディスクをSCSIディスクにするVMWareWorkstationでは、仮想ディスクをIDE、SCSIの2種類でエミュレートできるが、SCSIにしたほうがIDEよりも性能が向上する。仮想ディスクを作成する際は、SCSIを選択するようにする。
ただし、32bit Windows XP などの一部のOSでは、VMware からドライバをダウンロードする必要があるらしいので注意。
【設定方法】仮想マシン作成時下記のようにする。
●仮想HDDを作成する際、ディスク容量を事前に割り当てる拡張可能ディスクと事前割当ディスクの2種類があるが、ホストのHDDが足りないとかそういう事情がない限り、容量固定の事前割当ディスクにすることを推奨。これはVMWareだけではなく、Hyper-VやXen等の他仮想ソフトでも同様。また、ファイルも2GB分割ではなく単一ファイルにする。
【設定方法】仮想マシン作成時下記のようにする。
●スナップショット機能を利用しないゲストOSをスナップショットを利用して管理すると、性能が下がるためそれを利用しない。[VM]>[スナップショット]>[スナップショット マネージャ] でスナップショットが使われているかどうかを確認できる。
●デバックモードを無効にするデバック情報を収集しないことによって、そのオーバヘッドを無効化する。デフォルトでは無効化されている。
【設定方法】[VM]>[設定]>[オプション]>[詳細]>[設定]を選択
[デバッグ情報を収集]→なし●フルスクリーンモードでゲストOSを使用するゲストOSをウインド上で操作せず、フルスクリーンモードにして使用することによって性能が多少向上する。
VMWareWorkstation5.5以降は上記違いによる性能への影響はほとんどなくなったらしい。
なので今は特に気にする必要はなくなったかと。●準仮想化を有効化仮想マシン インターフェイス(VMI)を有効化することによって、CPUとメモリのエミュレーションによるオーバヘッドを抑えることができる。ゲスト OSとハイパーバイザ(VMWareWorkstationの場合VMMのことか?)間の通信に使用され性能が向上するそうだ。
もちろん、
VMIの機能はゲストOSのカーネルがVMI用に最適化されている場合でないと使用できない。Windows系OSはVMIをサポートしていないのでこの機能は使えない。
VMI の詳細については、以下を参考。
『Performance of VMware VMI(英語サイト)』
http://www.vmware.com/resources/techresources/1038『Paravirtualization API Version 2.5(英語サイト)』
http://www.vmware.com/pdf/i_specs.pdf英語だから読む気しねー
【設定方法】[VM]>[設定]>[ハードウェア]>[プロセッサ]を選択
VMware カーネル準仮想化をチェック
●VMWareToolsをゲストOSにインストールするVMWareToolsは便利な機能を提供するだけではなく、ゲストOSの性能にも影響するので必ずインストールするべきである。なぜならば、VMWareToolsは、VMWareに最適化されたデバイスドライバをインストールするからだ。OS標準ドライバよりもこれらは当然性能が高い。
具体的には下記をインストールする(VMWareマニュアルから引用)
・高い画面解像度と極めて高速なグラフィックス パフォーマンスを提供する SVGA ディスプレイ ドライバ。
・すべての 64 ビット Windows ゲストおよび 32 ビット Windows Server 2003、Windows Server 2008、Windows Vista、Windows 7 ゲストに必要となるオーディオ ドライバ。
・一部のゲスト OS 向け VMXNet ネットワーク ドライバ。
・一部のゲスト OS 向け BusLogic SCSI ドライバ。
・VMware のマウス ドライバ。
・共有フォルダを処理するカーネル モジュール(Windows では hgfs.sys、Linux および Solaris では vmhgfs)。
・Virtual Machine Communication Interface(VMCI)ドライバ。仮想マシン間で効率的な高速通信のために最適化されたクライアントサーバ アプリケーションを作成できます。
・PVSCSI アダプタ用準仮想 SCSI ドライバ。一部の仮想化されたアプリケーションのパフォーマンスを向上させます。 参考
・VMware Workstation Documentation
https://www.vmware.com/support/pubs/ws_pubs.html・VMware Workstation 6.5 and VMware ACE 2.5
Workstation User's Manual(日本語)
https://www.vmware.com/files/jp/pdf/ws65_manual.pdf・VMware Workstation 6.5 and VMware ACE 2.5
Performance Best Practices and Benchmarking Guidelines(日本語)
https://www.vmware.com/files/jp/pdf/ws65_performance.pdf・VMware Player(Workstation)のメモ
http://fun.poosan.net/sawa/wiki/?VMware
- 2009/11/29(日) 06:31:43|
- 仮想化
-
| トラックバック:0
-
| コメント:1