Free Your VM Workstation

Prior to today, my VM Workstation performed like a frigg’n soggy egg roll.  Literally, one click sometimes took 2 minutes to register.  Even with just one VM going, during installs both guest and host would slow to a crawl.  I have a decent machine and I couldn’t understand why performance was so unstable.  Here are my specs:

HOST
Quad Core 9000 Laptop
500 GB 5400 RPM Drive
4 GB – DDR2
Windows 7 Ultimate x64
VM Workstation 6.5

GUESTS
VM1: x64 Server 2008 R2 – 1.7 GB Ram
SharePoint 2010/AD/SQL Server 2008

VM2: x64 Server 2003 – 1.5 GB Ram
SharePoint 2007/AD/SQL Server 2005
*Configured to use TWO CPUs in VM OS.

SOGGY SYMPTOMS:

  • My host CPUs were doing very little…lazy bastards.
  • My host hard drive was pegged out.
  • *** My VM CPUs were MAXED OUT!!  ***  I would not have expected this as it did not reflect the host CPU behavior.
  • OWSTIMER from SharePoint was monopolizing the VM CPU.
  • The Windows Server 2003 VM had split itself into 26 virtual hard disk files that added up to 20GB.  (most accessed simultaneously)
  • Mouse drags seemed laggy.

I searched my brains out on how to optimize VM Workstation to utilize my CPUs better – to no avail.  However, through trial/testing and some research I was able to compile this list:

VM TUNING

  • First and foremost, ensure your VM is configured to utilize your CPU to max efficiency.
  • Run VMs on an external drive or separate internal drive – other options: RAID 0, Solid State Drive. Here’s a good reference for comparing drives.

    SATA II 55 MB/sec
    SATA 54 MB/sec
    IDE 54 MB/sec
    Firewire 800 41 MB/sec
    USB 2.0 35 MB/sec
    Firewire 400 29 MB/sec

  • Enable write caching on USB drives. BE CAREFUL – you must use “safely remove drive” to disconnect.
  • Use preallocated disks when feasible. Dynamic expansions are more expensive.(pg 7). Use in combo with 2GB splits to keep things portable.
  • IMPORTANT:  Ensure to use VM Tools to sync your host/guest clock. This fixes the OWSTIMER issue.
  • Configure your host ADVANCED POWER SETTINGS! You will hopefully see things like “minimum processor state”, hard drive, pci express, display and etc. Obviously max out your cpu and hard drive settings while plugged in.
  • Configure guest internally to use ONE CPU. Laggy mouse went away.
  • On the VM advanced settings, disable memory trimming.(pg 6)
  • Add the following line to the .vmx file to disable guest memory page sharing:
    sched.mem.pshare.enable = “FALSE”
    (pg 7 – the quotes are “FALSE” are HTML and will not cut&paste correctly into notepad)
  • Only run ONE VM at a time during installs (virtual hd expansions bog host/guests down)
  • Defrag EVERYTHING, OFTEN (host and guests) – check out JkDefrag
  • Remove eye candy, wallpaper and etc. Keep the screen refreshes down by using classic theme.

Still a lot of unanswered questions but my performance is remarkably better (and therefore my productivity). It’s interesting that VM CPUs get pegged when host resources are busy.  When I get more time, I’ll research why the VM CPUs were maxing out while the hosts were not…

Here’s another great article on VM Workstation Performance Tuning.

Advertisements

~ by spninjablog on September 21, 2009.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: