Thursday, November 29, 2007

VMWare Fusion 1.1 performance - give it some time

I am continuing to happily run Solaris Express Developer Edition under VMWare Fusion 1.1 on my Mac. This is now my primary development environment

I had some nasty performance issues at first. I have a 5400RPM disk drive, and when I was running Solaris, I would experience regular "lock downs" where my computer became almost completely unresponsive while the disk chewed and chewed and chewed.

I finally moved my disk image to an external USB drive, and was much much happier.

Then earlier this week, I tried running my image on my main disk again, and it actually is working great, no issues at all.

I think the issue is that VMWare allocates disk space on demand. So when I was first getting going, installing lots of stuff, pulling down source trees and so on, VMWare kept asking the Mac for more disk space for its image.

But now the disk size has stabilized, and that's not happening any more.

If I were to do it again, I think I might do the following:
  • Put the image on a separate disk initially
  • Write a script to create a big file in my image filesystem, then delete it. This forces allocation of space
  • Move the image back to my main disk.
Alternately, you could just keep the image on the external disk, but that's a bit of a pain.

I suspect if I had a 7200 RPM disk, this wouldn't be so much of an issue. I think I'll put that in as a budget request for next quarter :)


Anonymous said...

I believe when you create a new image you can tell VMWare to allocate all space at once; but IIRC, you can then never shrink it, so it's a trade-off.


Unknown said...

I searched for this option in VMWare 1.1, as I remember it with Parallels and other virtualization solutions, but I couldn't find it. If it's there, it's well hidden...

Ben Gertzfield said...

You can pre-allocate all space ahead of time when creating a virtual machine.

With a laptop disk, using an external disk and pre-allocating your disk space will definitely be a huge win.

From the Getting Started guide:

5) In the Virtual Hard Disk panel, set the maximum size for the virtual hard disk.

The Advanced Disk Options section provides the following choices:

Allocate all disk space now

This option gives somewhat better performance for your virtual machine. However, if you allocate all the disk now, you will not be able to use the VMware Tools shrink disk feature later. Allocating all disk space now is a time-consuming operation that cannot be canceled, and requires as much physical disk space as you specify for the virtual disk.