Windows Vista上のVMware Serverで、仮想マシンが起動しない

 

VMwareの仮想マシンを起動すると、物理ホスト(Vista)のI/Oランプが点滅じゃなくて光りっぱなしになり、ハングする。Ctrl+Alt+Deleteも効かない。電源長押しするしかなくなる。

そういえば以前もハマったことがあり、その時は仮想化製品にこだわりなかったもんで、Virtual PCで代替してスルーしていた。
今回はVMwareの環境が手元に必要になったため、もう少し調べてみることにした。

なんでハングするんだろう?

前回は気づかなかったが、タスクマネージャを起動させた状態で事象再現させると、メモリ使用量が99%状態でハングしていることがわかった。どうやら、仮想マシン用のメモリ領域が確保できなくて、激しくswapし、物理ホストがハングしている、または「しているように見える」らしい。

というわけで、仮想マシン用になるべくメモリ領域を確保できるようにするため、諸々設定変更した。

設定変更したこと

1. VMware側のReserved Memoryを減らす

先ず、VMwareが仮想マシン用に確保しようとする領域があまりにも大きかったため、少し自重して頂いた。
VMware Server Console(1.x系)にて、Host -> SettingsからMemoryタブを選択。
Reserved memoryが2.4GBを超えていたので、半分に減らした。

 
2. 物理ホスト側のSuperFetchを無効化

悪名高い、VistaのSuperfetchサービスを無効化した。
普通に、Vistaの管理ツール->サービスから、Superfetchを停止して無効化。
これで、「キャッシュ済み」にキャッシュされるメモリ領域が減り、「空きメモリ」が増える。

 
以上を試した結果、少しマシになった気がするが、物理ホストを起動して、最初に仮想マシンを起動する時はやっぱりOSがハングし、20分ぐらい待たされる。

ハングしている間に何が起こっているかはわからないが、おそらく「キャッシュ済み」の領域を開放し、「空きメモリ」の領域に足していっているのではないだろうか。

20分待つのはちょっと厳しいなあ・・・。まあ、普段PCの再起動はセキュリティパッチ当てた後ぐらいしかしないからいいんだけど。