fc2ブログ
topimg.jpg


VMWareWorkstation(VMWarePlayer)の設定で性能上気をつけるべき所(大幅改定)

●リソース割り振りの優先度を用途に応じて高くする
ゲスト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]>[設定]>[オプション]>[詳細]>[設定]を選択
メモリページのトリミングを無効にする
にチェックを入れる
memoritriming.png


●ページ共有機能の無効化
VMWareWorkstationでは、複数のゲストOSを立ち上げたとき、複数のゲストOSで共通のページ内容を互いに共有し、メモリ使用率を抑える機能がある。それを無効化することによって、そのオーバヘッドをなくす。
【設定方法】
vmxファイルに下記行追加
sched.mem.pshare.enable = “FALSE”



●仮想ディスクをSCSIディスクにする
VMWareWorkstationでは、仮想ディスクをIDE、SCSIの2種類でエミュレートできるが、SCSIにしたほうがIDEよりも性能が向上する。仮想ディスクを作成する際は、SCSIを選択するようにする。
ただし、32bit Windows XP などの一部のOSでは、VMware からドライバをダウンロードする必要があるらしいので注意。
【設定方法】
仮想マシン作成時下記のようにする。
idescsi.png



●仮想HDDを作成する際、ディスク容量を事前に割り当てる
拡張可能ディスクと事前割当ディスクの2種類があるが、ホストのHDDが足りないとかそういう事情がない限り、容量固定の事前割当ディスクにすることを推奨。これはVMWareだけではなく、Hyper-VやXen等の他仮想ソフトでも同様。また、ファイルも2GB分割ではなく単一ファイルにする。
【設定方法】
仮想マシン作成時下記のようにする。
kotei.png



●スナップショット機能を利用しない
ゲスト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
  1. 2009/11/29(日) 06:31:43|
  2. 仮想化
  3. | トラックバック:0
  4. | コメント:1
<<ipod touchのデータが全部消えた\(^o^)/ | ホーム | 日立500GBプラッタHDD買ったので性能を測ってみた>>

コメント

参考になりました!!
  1. 2011/01/27(木) 21:34:59 |
  2. URL |
  3. xynnia #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://192168111.blog71.fc2.com/tb.php/6-9c72cb02
この記事にトラックバックする(FC2ブログユーザー)