Running More than 128 VMs on Windows Server 2008 Hyper-V

Microsoft’s Hyper-V is a hypervisor-based technology that is a key feature of Windows Server 2008, and provides a scalable, reliable, and highly available virtualization platform. Hyper-V provides a great virtualization solution for many small, medium and large organizations. Some of the capabilities of Hyper-V include x64 host and guest support, ability to run guest machines in a multi-processor environment, large memory allocation per virtual machine, integrated virtual switch support, and ability to migrate virtual machines across hosts with minimal downtime.
By default, Hyper-V is supported on physical computers with up to 16 logical processors. However, an update has been released that, after installation, will allow you to increases the limitation on the number of logical processors to 24. Note that a logical processor can be a core processor or a processor using hyper-threading technology.
You can use Hyper-V to configure and use many virtual machines at the same time. The specific number depends on two factors. One factor is the available physical resources on the server running Hyper-V. With the appropriate physical resources, Hyper-V supports up to 128 virtual machines running at the same time. However, with this update, Hyper-V can support up to 192 virtual machines running at the same time.
This update package includes the following improvements:

  • The update package increases the limitation on the number of logical processors to 24. The previous limitation was 16.
  • The update package increases the number of Hyper-V virtual machines that you can run per server to 192. The previous limitation was 128.

Download the Hyper-V update here.
After downloading it, double-click the file to install it on your system.
Restart warning:
You have to restart the computer after you apply this update.
If you want to run more than 150 virtual machines, please follow these steps:

Warning!
This document contains instructions for editing the registry. If you make any error while editing the registry, you can potentially cause Windows to fail or be unable to boot, requiring you to reinstall Windows. Edit the registry at your own risk. Always back up the registry before making any changes. If you do not feel comfortable editing the registry, do not attempt these instructions. Instead, seek the help of a trained computer specialist.
  1. Click on the Start button, type regedit in the Start Search box, and then click OK or press ENTER.
  2. In Registry Editor, locate the following registry subkey:
Original value:
​
ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off
MaxRequestThreads=16
  1. Right-click the Windows entry, and then click Modify. The Edit String dialog box appears.
  2. In the Value data box, locate the following entry and change the value to the supplied value. When done, click OK.

Entry to modify: SharedSection
Original value before modification: 1024,20480,768
Value after modification: 1024,20480,1536
The newly changed Windows entry reads as follows:
Modified value:

​
ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off
MaxRequestThreads=16

Note: This entire value should all be in one line.
After making these changes you might need to reboot the server for changes to take place.
Note: To start a Windows Server 2008 x86-based virtual machine on a computer that uses a 6-core processor, you also have to install the update found in KB 950182. See link below.
Important note:
After you install this update, you have to install the updated Integration Services. To do this, open the Virtual Machine Connection in Hyper-V Manager, and then select the Insert Integration Services Setup Disk option on the Action menu. Installation of the Integration Services starts automatically. If the installation does not start automatically, you can start it manually. From a command prompt, type:

Recent Windows Server 2008 Forum threads

Got a question? Post it on our Windows Server 2008 forums!