Why does my desktop box slowdown when I install Hyper-V?


Hyper-V’s primary target is servers.  We love it when you run it on your desktop however you might encounter some challenges.  One such challenge is that once Hyper-V is installed on your desktop box you might find the overall system performance has dropped.

The most common problem users are experience is related to hi-end graphics cards and drivers.  In Windows Vista / Server 2008 we switched from our XP driver model (XDDM) to a new more performant model (WDDM).  The new drivers used non-cached and write-combined memory in order to allow graphics cards to pump lots of data around the system without impact on CPU caches.  This improves overall system performance.

The new model works great on non-virtualized hardware.  On virtual machines the model causes lots of root TLB flushing (Virtual to Physical address translation cache).  It is this constant flushing of the root’s TLB that is slowing down the system.

There are a couple of things you can do today;

  • One is stop using your high end graphics card in your dev box (not likely).
  • You can use VGA.sys as your graphics driver.  If you do this you will loose multi-monitor support and a few cool graphics features like glass. (somewhat likely)
  • Look for an XP driver for your system.  Most XP drivers were not 64bit so this option is a bit limited because Hyper-V requires the root to be 64bit.  (most XP drivers are 32bit – bummer)
  • The **Best Option** is use Win7 (currently in Beta) and upgrade the processors and/or system to one that supports Second Level Address Translation (SLAT) in hardware. 
    • AMD calls this feature “Rapid Virtualization Indexing” and is present on their Phenom and Opteron processors.  In engineering literature it is sometimes called Nested Page Tables (NPT)
    • Intel calls this feature Extended Page Tables (EPT) and is present on their Nehalem based processors.  The marketing name for the Nehalem is the Intel Core i7 for desktops and the Xeon 5500 series for servers.

For addition information on the issue see http://support.microsoft.com/kb/961661


Comments (5)

  1. Kenny Kerr says:

    Thanks for the info Tony. When you say “use Win7” I assume you mean Windows Server 2008 R2, as Windows 7 doesn’t include Hyper-V (what a pity!). So if I run on an Intel i7 for example and install Windows Server 2008 R2 with Hyper-V I should be able to use high-end graphic drivers without experiencing a slowdown. Is that right?

     —

    Tony’s reply – Win7 Server is called Windows Server 2008 R2

  2. Michael says:

    What do you mean by Win7? AFAIK Win7 == Client OS and no Hyper-V .. or do you mean Server 2008 R2? Thanks, Micahel

     —

     Tony’s Reply – Win7 Server is called Windows Server 2008 R2 now.

  3. Now that Hyper-V has been in the market for over 9 months a common question that has come my way is “what

  4. bill says:

    heres another thought the book can also be used as a hat

Skip to main content