Adium Boxee BBEdit Coda Alfred HandBrake ScreenFlow Caffeine Moom Evernote Pixelmator SecureFiles TextWrangler Transmit Shimo RapidWeaver VLC Dropbox Steam Spotify Acorn VMware Fusion Unison

« Mac OS X Lion - Where's the Library? | Main | Mac OS X Lion Applications »

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).

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.

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.

Reader Comments (4)

1) Can you use OptiBay for additional storage with Parallels 7 Desktop without performance issues?

2) What are the performance issues with Fusion 4 and OptiBay?

October 16, 2011 | Unregistered CommenterFroggy

Hi Froggy,

I experienced the slowdown issues with both VMware Fusion and Parallels Desktop. However, I have not tested the latest versions (I'll attempt to do so over the next couple of days).

I also spoke directly with VMware regarding the issue and they said "it was know, but with no planned resolution as OptiBay is not officially supported by Apple". I have not been able to find my own workaround.

With that said, it's possible that this issue does not impact all Mac's, so you might get lucky :-)



October 17, 2011 | Registered CommenterMatt (LifeinTECH)

Hope that there is a work around. It would be ideal to boot from the SSD and have the VM on a second drive installed in an OptiBay. THX for checking into this

October 17, 2011 | Unregistered CommenterFroggy

I'm having some issues just now. I left my HDD in its original location and put the SSD into the Optibay. Whenever I load Parallels and open Firefox it crashes with a BSOD and "BAD_POOL_HEADER" message.

Very frustrating

January 3, 2013 | Unregistered CommenterJamie P

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>