Running A Bunch Of Vista SP1 VMs on Hyper-V With A Single Laptop

In this case, a picture is worth a thousand words.  I spent some time this afternoon and evening setting up for a fun little test of the Lenovo ThinkPad T61p I have.  As you’ll recall from my previous post, my laptop is loaded up with 8GB of memory.  So I thought it would be cool to fire up a bunch of virtual machines to see how effectively Windows Server 2008 and Hyper-V allocate and juggle memory.  I was able to get fourteen operating system instances running at the same time.  The host OS is of course Windows Server 2008 Enterprise x64 with Hyper-V RC1.  In the screenshot, you’ll notice I am running six instances of Windows Vista Enterprise SP1 x64 and seven instances of Windows Vista Enterprise SP1 x86.  Paging and disk I/O really went up after I fired up VM number eight. 

That’s a total of 14 operating systems executing on a single laptop folks!!!

I could have added more disk spindles to the test to improve the I/O bottleneck, but I decided to see what this would be like with a normal travel rig.  Therefore, there are three disks in use.  Two standard 2.5” SATA drives in the T61p, and your run of the mill external Maxtor drive attached via USB.  Not exactly exotic, but this is a memory test, not a demo that requires more efficient I/O.

Here’s the screenshot.  You can click the image to get the larger view.


One other thing, the host environment is also running several other services when the screenshot was captured.  Active Directory, DNS, and several other role services are running.  I also noticed after I did this screenshot, that the VM highlighted and executing has 1024MB of memory allocated instead of 512 like the rest of the VMs.  I wanted to get 14 Windows Vista VM’s up and running on a single machine.  I could have done it.  Drat. Maybe next time.  Pretty kewl anyway.

Now obviously this test isn’t very useable, but one thing it points out really nicely.  Memory allocations are accurate.  And, when you are running a laptop with 8GB of memory, you add a whole new dimension to the environment.  Now you can realistically run 7-8 virtual machines with a wide variety of products and technologies.  Enjoy.

[Update for 6/7/2008] I altered the title.  I removed the reference to a world record since it really isn’t a certified world record.  Still pretty impressive though.

[Update for 6/8/2008]  What do you do when you are doing laundry, packing and getting ready to travel to TechEd 2008?  Clean the pool?  Nope.  Cut the yard?  Naw, it can wait another week.  Hey, let’s run another test.  Here it is folks. Twenty Seven Windows Vista Enterprise SP1 Virtual Machines executing courtesy of Windows Server 2008 and Hyper-V.  All of this is running on a single laptop, the world famous Lenovo ThinkPad T61p with 8GB of Kingston memory.  This time I added another hard drive and split the load.  I also used a couple of parent disks, and each VM is executing off a differencing virtual disk.  The first pic is of all the VMs executing.  Keep in mind this is a total of 28 operating systems running on a single laptop when you take into account the parent OS, Windows Server 2008.  The second pic shows me killing off the VM’s and the freeing up of the memory.  Nice staircase.


Pretty cool, eh?  I know you think this is crazy and unusable.  I did notice while firing them up under this configuration, that I could easily use 10 client virtual machines with the settings and hardware I used for this test.  So some interesting scenarios come to mind with the use of Group Policy, Patch Deployment, OS Deployment, etc.  I’ll experiment more in a week or so.  Nice.

Here’s the screenshot of me slamming the door on all of the VM’s.  I just punched the “Turn Off” link which is hard core to the VM.  But that’s what snapshots are for.  I’ll fix them up later.


For those of you coming to TechEd 2008 in Orlando, feel free to stop by the System Center Virtual Machine Manager 2008 booth.  I’ll be working it a few hours each day.  Enough fun.  Time for me to get some of my last minute chores done. 

Comments (16)

  1. Rob says:

    Definitely some major geek-cred for that.  Got me thinking now about seeing how many Ubuntu Servers I can get running on my rig since they have a much smaller footprint than a full blown GUI OS.

    On a side note.. I run a pretty nice network at home.. Enterprise firewall, Domain, multiple web servers… every time I think I have a cool setup going Keith ups the ante…  sigh…..  Getting harder to keep up with the Combs’….

  2. On I’m describing 32 Windows Server virtual machines running on my laptop (T60p, 4GB RAM, Vista 32bit) Running 33rd is impossible due to VirtualPC limitations… 😉

  3. Gee says:

    you can run 500+ dos vm if you want, but does that make sense?

  4. Keith Combs says:

    Gee, no, 500 DOS VMs are uninteresting.

  5. Larry says:

    how many vista can you run at the same time 🙂

  6. Rob says:

    DOS… no, but a whole bunch of Ubuntu servers running a load-balancing cluster would be a fun exercise.  Pointless in terms of usefullness, but we’re talking geek-cred here…  🙂

  7. Keith Combs says:

    Ubuntu servers?  Hardly exciting either.

  8. lot says:

    I find this only a tad fascinating. I was quick to notice all of them are at idle, so it still doesn’t do any good having them all loaded up sitting at idle. I imagine as one starts to really do some work, the laptop will most likely sieze up.

    I never could really grasp the notion of running such instances on one machine, let alone running them as a load balancer, does no good if the host dies.

  9. Keith Combs says:

    Did you read the article?  This is primarily about pointing out there’s 4GB more of available memory to Santa Rosa and higher latops now (total of 8GB).  This means you can do more with virtulization.  It might mean better performance for an existing scenario.  It might mean you can now run another VM or two that really enables a scenario you could not run before.  

    Loading up a bunch of VMs means nothing other than to show the memory allocations are working.  Period.  Well, maybe bragging rights for a day, but little else.  Geek stuff.  

  10. Chad Ohman says:

    Hi Keith,

    In my former life, I worked at Microsoft as a “Technologist” building VM’s for all Product lines to post to MCT download center prior to Microsoft’s purchase of Connectix in 03 and after….

    I am currently running a Cleva D900 Quadcore with 3-internal SATA drives and Windows 2008 Server Hyper-V.

    However, the form factor is large and bulky… I like your setup. If you’d have a moment, i’d love to chat with you about your findings and experience.

    Are you using eSata drives externally?

    or is does the T61p accomodate a 2nd drive?

    Also – what was the total cost of your setup? I see that Kingston is shipping 4gb modules on the 11th of June for $500.00/ea  … pretty hefty price… but doable if I purchase the laptop right.

    Chad –

  11. Keith Combs says:


    As indicated on the original post, I was using two internal 2.5" SATA drives and an external USB attached Maxtor drive.  Therefore, yes the ThinkPad T61p accomodates a second drive.  You can pull the cd/dvd drive and insert a Multibay hard drive adaptor (caddy) with the second 2.5" SATA drive.

    You can buy a loaded T61p with 4GB of RAM for around $1500 USD on sale.  They are on sale right now.  Who knows what 8GB of memory is going to cost.  The starting price is from $900-1000 and corporate discounts will be lower.  I know ours will be lower.  When those 4GB sticks become plentiful, if history is any indicator, the price will drop big time.  Look at the 2GB stick prices.  When they first came out, they were $980 per stick.  Now they are around $50.

  12. Jordan says:


    My personal toshiba satellite just got the LCD smashed in on it, so im thinking of replacing it with a Thinkpad.

    Although it certainly wont be a T61p w/ 8 GB of RAM. 🙁

  13. dovella says:

    Keith Combs

    You re GREAT!!!!!!!

  14. Dugie says:

    You scare me Keith; in the nicest possible way =)

  15. Tonko Papic says:

    when an aplication virtualize an OS all the files and resources are duplicated, triplicated, etc… it could be an interesting idea to develope a efficient system manager (or a machine manager), so if the same file is loaded on memory in diferent virtual machines, the system detect this file and load it only once in physical memory and manage the resource to be called from the virtual machine that needs it.

    User files and os files

  16. Ben Pottinger says:

    RE: Tonko Papic

    The feature your describing Tonko is Memory page sharing and has been in use by ESX for a number of years.

Skip to main content