Parallels and OS X Instability


VMWare Fusion

Lately, I've had a very rocky relationship with my Mac Book Pro. One of the things that attracted me to OS X was its stability. Over the past several months (before and after Leopard) my MBP has had trouble with sleeping, waking, and weird, inexplicable freezing. Often when the machine woke up, it would the screen would be black and never come back. The machine would freeze at odd times and nothing would unstick it. I couldn't even log in remotely using SSH, so it was pretty stuck.

The final straw was erratic mouse behavior. The mouse seemed sluggish and wouldn't follow the track. Only a reboot would cure it and the it would deteriorate over the next 5-10 hours.

I considered an OS reload, but didn't really expect that would solve the problem since these issues had persisted through reloads before. I suspected, but didn't have much evidence that it has something to do with a kernel extension because the locking up was occurring at a deep level.

The good news is that OS X some new tools for exploring what kernel extensions are loaded. I used the following command to see what (besides Apple extensions) were loaded:

kextfind -loaded -not -bundle-id -substring 'com.apple' -print 

Doing so revealed about five extensions. I started Google each one and discovered that vmmain.kext was suspected in at least one other case of causing erratic mouse behavior. I didn't want to uninstall Parallels to test this, so I just renamed the plist file in StartupItems so it wouldn't load.

mv /Library/StartupItems/Parallels/StartupParameters.plist foo.plist

Now, after a reboot, Parallels doesn't load and looking at the loaded kernel extensions shows that in particular vmmain.kext hasn't loaded.

I did this five days ago and my machine has been remarkably stable. It feels like my old Mac again. I don't know that it's a Parallels problem--at least not exclusively. I suspect that its an interaction with other things. In particular, I run Parallels and Fusion both and there may be some weird interaction going on there.

I like Parallels. I like Coherence better than Unity. I like the snapshot feature in Parallels because it allows multiple snapshots of the same image. But I need Fusion for running Fedora (Parallels didn't work so well for me there). Fusion also wins on the performance front--particularly with multiple cores.

There are ways to load and unload kernel extensions and that may be a better solution, but for now, I'm just using Fusion to see what happens. I'll let you know if my experiment turns up anything else.