VMware Fusion Performance Tips

I'm a big user of virtualisation, both at home and at work and thankfully when it comes to client virtualisation on the Mac, there are a number of great solutions. Personally, I use VMware Fusion (VMWF), primarily because I am most familiar with VMware products, however Parrelles Desktop and VirtualBox are also very popular solutions.

As I have been using client virtualisation on the Mac from many years, I thought I would post a few hints and tips that I have learnt along the way. Although the information below is primarily based on VMWF, it should also be transferable to other client viurtualisation platforms.

Before starting, the usual disclaimer. These tips are what I have found to work well for me, however as with all technology, your specific configuration may deliver different results. Therefore look at this as a guide to help find what works best for your setup.

Memory (RAM) Allocation:

When it comes to virtual machines, memory (RAM) is very important. When you configure a virtual machine in VMWF you set how much memory you want to assign it (this is a fixed value). However you have to keep in mind that Mac OS X also needs a certain amount of memory to continue to operate (2048MB minimum for Mac OS X Lion). Therefore the number of virtual machines you can run simultaneously is generally defined by how much memory you have. Below I have outlined the minimum amount or memory you should allocate to the guest operating system (note, this is minimum, you may need to assign more for certain tasks).

  • Windows XP = 1024MB
  • Windows Vista = 2048MB
  • Windows 7 = 2048MB
  • Windows Server = 2048MB
  • Ubuntu = 1024MB

As a result, if you are running Mac OS X Lion and have 4GB of memory available, then you would be able to run two Windows XP virtual machines or one Windows 7 virtual machine, while maintaining usable performance (the image below shows the VMWF memory options).

vmwftips1.jpg

Processor Configuration (Multi-Core / x64):

If you have a multi-core Mac, I recommend only assigning half the available cores (seen as processors in VMWF) to the virtual machines, therefore leaving half dedicated to Mac OS X. For example, if you have a dual core Mac, you would only assign one core (processor) to the virtual machines. However, if you have a quad-core Mac, you can assign two cores. The good thing about processor performance is that it can dynamically scale depending on the usage, therefore if you have multiple virtual machines running, but all sitting idle, then the majority of your processing power will be available for use in Mac OS X.

Regarding 32bit vs 64bit guest operating systems, for Windows XP, always use 32bit (as the 64bit version is not well supported). However, for Windows Vista and 7 I recommend you use a 64bit version, as this will enable VMWF to use Intel’s VT hardware extensions, which should perform better for call-heavy workloads.

Storage (IDE vs SCSI):

As a general rule, virtual SCSI drives perform better than virtual IDE drives. However, Windows XP does not come with SCSI support unless you install using the VMWF "Easy Install" option, as this will automatically install the required drivers. You can also manually install the drivers during the installation of Windows XP as they can be downloaded from the VMware support website. Windows Vista and 7 will install natively using SCSI.

Some forums claim that static pre-allocated disks are faster than dynamic disks. Although this might be true, I have not seen any real world difference. Therefore I recommend using dynamic disks, unless storage space really isn't an issue for you.

vmwftips2.jpg

Other Tips:

  • Running a file-based virtual machine is much faster than a boot-camp partition. This is because accessing data on the NTFS boot-camp partition is slower than a native HFS+ partition.
  • Windows Vista is a dog (in more ways than one), therefore avoid using where possible. I recommend both Windows XP or Windows 7.
  • Always run your virtual machines from the fastest physical storage that you have available (for example, solid state). If you have multiple storage options and all are equal, then run the virtual machines from a secondary disk, as this should improve overall performance.
  • OptiBay, used for adding additional storage to your MacBook (Pro) is not officially supported by VMWF and has been known to cause significant performance issues. There is currently no known workaround for this issue.