More experimenting with RAMdisks: Using a VM completely in RAM


In my previous post, I talked about using a small RAMdisk to speed up the process of generating MDT boot images.  But the trial version only supports RAMdisks up to 4GB in size and only on client OSes.  One comment posted to that blog pointed out that StarWind also has a free RAMdisk available, and it supports larger RAMdisks and server OSes.  See http://www.starwindsoftware.com/high-performance-ram-disk-emulator for more information.  (Again, I’m not recommending it, just pointing out its existence.  Registration is required to download.)

This let me test out another scenario: Creating a RAMdisk large enough to hold an entire virtual machine, then seeing how much faster Windows can be deployed into such a virtual machine.  Fortunately, I have a workstation-class machine with enough RAM to do something like that.  I created a 20GB RAMdisk, formatted it as NTFS, then created a new VM where the VHDX file (using Windows Server 2012) was on the RAMdisk.

Using a physical disk array (attached to an Intel RAID controller) on the same system, I can deploy Windows 8 in about 10 minutes (new computer, clean install, no apps, no updates, etc.).  So how much faster is the RAMdisk?  On my machine, it took about eight minutes – noticeable, shaving 20% off of the time, but not as fast as I would have hoped.  That’s another case of shifting the bottleneck: the image is pulled across the (virtual) network, read from a physical disk (VHD), consumes CPU, etc.  Now if I only had enough RAM to load my entire server VHD into a RAMdisk to see what that does.  Last time I checked, the server required about a terabyte of disk space, so going that far is not possible.

But I can do the next best thing:  Create an MDT media ISO, copy that into the RAMdisk, and do a deployment using that instead of over the network.  How long did take?  About 7 minutes and 30 seconds.  Sigh, 30 seconds saved.

One more test:  Give the VM more CPUs.  Instead of the default single core, I increased it to four cores and tried again.  This time, the deployment completed in 6 minutes and 30 seconds.  Another minute shaved off.  (Don’t have lots of RAM?  Well, you probably have more than one CPU in your Hyper-V server, use it when building images.)

So that’s up to a 35% improvement in performance – good overall, but not quite the fantastic results I was hoping for.  Ah well, it was worth a try…

Comments (6)
  1. Anonymous says:

    How about trying some different ram disk software. Google ram disk comparison and top is a review of 12 different ones. Try the free one with the highest 4k write. Also just create a new deployment share on a separate ramdisk.

  2. Christiaan Ghijselinck says:

    NTFS consumes rather intensively CPU type.  The exFAT filesystem would be a better choice for the ramdisk where the VHD are stored. The Qsoft ramdisk supports exFAT , even without an additional format run.

  3. Gabe Ster says:

    Thank you for posting this – I only discovered it today but have wondered just how much a fully-in-RAM solution would benefit image build/deployment times. Not as much as I’d hoped either… but you’ve saved me a bunch of time testing it myself to find out.

  4. anon says:

    you can look for imdisk, which is free and let you create ramdisks of any size

  5. Jaiyan says:

    I just want you to know that was a great project to be part of you’ve done on your site – captivating stuff.
    http://goo.gl/pKXwzI

Comments are closed.

Skip to main content