2015.02.07:リンク切れの修正
コメント欄にてVMware上のOSを簡単にパフォーマンスアップさせ、軽快に作動させるチューニング方法を教えて頂いたので紹介します。
上手くパフォーマンスアップ出来た場合は、「外付けSSDに仮想OSをインストールしたけど、Trimコマンドが発行されない・・・」なんて不満が解消できる場合もあります(個人的体験例)
高速化させる方法
- VMwareを終了させる
- 仮想OSを作成したフォルダ内の「*.vmx」ファイルをメモ帳などで開く
- *.vmxファイルの末尾に
MemTrimRate = "0"これらのパラメータを付け加える
mainMem.useNamedFile= "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
MemAllowAutoScaleDown = "FALSE"
たったこれだけで、PC環境によってはかなりの効果が得られます。
これは、主にDisk I/Oを減らす事を目的としたチューニングです。
(仮想 PC のメモリ設定分を実機のメモリから常時確保する(使用する)設定です。)
VMware上の仮想OSを「外付けのUSBドライブ」上に置いていたりすると、仮想OS終了時にかなりのモタツキが発生したりするのですが、そういう現象からも開放されます。
注意点
この設定は、大量のメモリを積んだホストPCで行うようにしましょう。
ホストOS、ゲストOSでどういう作業を行うかにもよりますが、ホストOSには最低でも8GB程度のメモリがあった方が良い感じです。
上記のパラメータ設定は、ホストPCのメモリを大量に消費します。(仮想 PC のメモリ設定以上は消費しません)
ホスト側にメモリが十分に利用可能ではない場合には、仮想マシン間でメモリの奪い合いが発生してしまい、ホストOS側の作動に影響がでる場合があります。
実験
Windows 8 RTMをVMware経由で「USB 外付けSSD」にインストールして、OS起動と終了にかかる時間を計測してみました。
(USB接続の場合、SSDのトリムコマンドは発行されず、SSDの書き込みは遅くなる)
(外付けSSDだからトリムが発行されない、という訳では無いようです。(Diskパフォーマンスが改善されたらトリム発行出来るようになりました))
結果その1
OS起動
・パラメータ追加前・・・・・ 15秒
・パラメータ追加後・・・・・・11秒
OS終了・・・・・・
・パラメータ追加前・・・・・ 157秒 (実際には5秒)
・パラメータ追加後・・・・・・4秒
おお、USB外付けSSDに仮想OSをインストールしていると、終了処理が激遅になって困っていたのですが、上記のパラメータを付加するとこの困った現象からも開放されるようですヾ(*´∀`*)ノ
結果その2
複数のアプリを起動させてみる
・パラメータ追加前・・・・・ ウィンドウの切り替えに3~4秒待たされる
・パラメータ追加後・・・・・・ウィンドウ切り替え時に待たされる事がなくなる
数値上でも体感でも、かなり早くなりました。
ホストPCのスペックに左右されるかもしれませんが、これらの設定はかなり効果があるように思います。
各パラメータの意味
MemTrimRate = "0"
・・・・・・物理メモリ解放を抑止
mainMem.useNamedFile = "FALSE"
・・・・・・ゲストのメモリはファイルではなく実メモリを使う
sched.mem.pshare.enable = "FALSE"
・・・・・・ページ共有機能の無効化
prefvmx.useRecommendedLockedMemSize = "TRUE"
・・・・・・メモリ使用量が変化した時、メモリサイズを固定するか、変動させるか
MemAllowAutoScaleDown = "FALSE"
・・・・・・仮想マシンのメモリサイズを自動調節抑止
参考リンク
- VMware KB: Hosted製品のディスクI/O パフォーマンスに関するトラブルシューティング (その原文:英語)
- VMware KB: 仮想マシンのパフォーマンス問題に対するトラブルシューティング (その原文:英語)
- Maximize VMWare images performance - GitHub
このページで紹介した事以上のパフォーマンスアップの情報が記載されています。
その他
コメント欄に色々と補足情報を頂いています。興味のある方はコメント欄(最初の3件)もご覧頂ければと思います。