The Short Version: The UPS’s USB connection had been inadvertently shared with the virtual machine. Setting it to only be accessible by the host OS (OS X) solved the problem.
Recently I noticed my virtual machine instance under VMWare Fusion (3.1.3) seemed to be running unusually slow on my Mac. Yesterday I noticed that the status indicator for my battery backup kept appearing and disappearing in the menu bar.
While inspecting the energy settings for both OS X (Lion) and Windows 7 (VM) I decided to check the connected USB devices for the virtual machine. Sure enough, my CyberPower UPS was showing as connected to to the Windows 7 guest OS. I have no idea how this happened. There’s no reason I would have intentionally connected the USB interface for the my UPS to to the VM. Perhaps I clicked on it when intending to connect a different device at some point.
Regardless, as soon as I disconnected the UPS from the VM both systems started functioning at a more normal speed and the status indicator stayed in the menu bar instead of restarting.
I wanted to improve the performance of my Windows 7 virtual machine so I decided to look at moving to Parallels Desktop for Mac or VMware Fusion. VMware had a special upgrade offer for current users of Parallels. While I wasn’t using Parallels I did have a license for version 2. The “upgrade” cost for Fusion 3 under this deal was only $20 so I went ahead and purchased it.
Performance of the virtual machine in Fusion does seem to have improved over Virtualbox. However, I am still experiencing some nagging lags even with Fusion. Of course, this is further complicated by the fact that my host Intel iMac only supports a max of 2 GB of RAM and Windows 7 requires 1 GB. Overall, it’s been tolerable but host OS performance has been suffering.
I don’t remember the specifics of how I migrated the hard drive image into Fusion but I think it was just a matter of setting up an existing virtual machine and allowing Fusion to acquire the disk image.
I tracked down one VM setting change that seems to have helped with performance of the host OS with very little impact on the guest OS (except for the fact that it re-installed some drivers, which messed up activation of one product). The only change I’ve made was to disable Hard Drive Buffering under the Advanced settings. Your mileage may vary. I suspect that systems with better specs will benefit from having that option enabled.
I’m still trying to decide the future of my home automation software. I like mControl but I’m starting to lean toward something that is OS X native. I don’t really want to have a Windows 7 system just to run one software package and I’m also frustrated with how the license is managed in mControl 2. It seems that any minor change to the hardware (or virtual hardware) will cause it to think it’s on a new machine and require re-activation. Correcting this is ridiculously simple, but still annoying. It’s hard to abandon a software package that originally cost over $100 but it’s also becoming less relevant to my home computer/home automation environment.