VMwareでプチフリーズしてしまう場合の対処法

VMware(Workstation/Player)のバージョン7以降にはバグがあるようで、仮想マシンでWindowsを使うと操作の度に10秒ぐらいゲストが固まるなど一時的にフリーズすることがあります。

Windowsのページングが仮想ディスクに対して頻繁に行われるのが原因のようでそれを回避するための対処方法は以下の通りです。

メモリページのトリミングを無効にする

「仮想マシン設定」-「オプション」-「詳細」を開き、メモリ ページのトリミングを無効にするにチェックを入れる。(画面はVMware Workstation 11)

仮想マシン設定

これによってvmxファイルにMemTrimRate = "0"が追加されます。ゲストで割当てたメモリがあまっていてもホストに渡さないようにする設定のようです。

vmxファイルに下記を追記

mainMem.useNamedFile = "FALSE"
MemAllowAutoScaleDown = "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
これは主にDisk I/Oを減らす事を目的としたチューニングで、各パラメーターの意味は以下のとおりです。
mainMem.useNamedFile = "FALSE"
ゲストの仮想メモリを使わず、ホストのメインメモリを使う
MemAllowAutoScaleDown = "FALSE
仮想マシンのメモリサイズを自動調節抑止
sched.mem.pshare.enable = "FALSE"
ページ共有機能の無効化
prefvmx.useRecommendedLockedMemSize = "TRUE"
メモリ使用量が変化した時、メモリサイズを固定するか、変動させるか

※仮想マシン設定で何かしらの設定変更をすると、vmxファイルが上書きされて手動で追記したのが削除されたりするので注意が必要です。

CD/DVDドライブの切断

「VM」-「取外し可能デバイス」-「CD/DVDドライブ」-「切断」

これでも解決しない場合はUSBコントローラやサウンドカードも切断してみます。

VMwareを使用する度に毎回切断する作業は面倒なので、あまり使用しないデバイスは使う時だけ接続するように「仮想マシン設定」でCD/DVDドライブやサウンドカードなどの設定画面にある「起動時に接続」のチェックを外しておくといいかもしれません。

参考