Q: Can I hot-add processors in Windows Server 2012 Hyper-V guest OSs?

A: It's possible to hot-add processors (adding processors without having to shut down the OS) to the Windows Server 2012 Hyper-V host (Standard or Datacenter) provided the hardware supports hot-add. But it 's not possible to hot-add processors into virtual machines (VMs).

Typically, hot-adding processors isn't widely used since previously (prior to Windows Server 2012) only the Datacenter SKU of Windows Server supported hot-add of processors, and the application had to support hot-add of processors (which is rare but does include products such as SQL Server Enterprise edition). However, this doesn't mean you have no control of live processor resources.

A great capability in Windows Server 2012 Hyper-V is the ability to modify the processor reserves and maximums of a VM while it's running. This is best illustrated in the example below.

  1. I have a VM with two virtual processors that's configured to be able to use 100 percent of those processors, which equates to 12 percent of the total system resources.
  2. I then run a process on that VM that uses all of the available CPU-- and when we monitor it, we can see it's using 12 percent of the system's resources
  3. Without stopping the VM, I go back into the properties of the VM and change the limit to 50, which means it can only use half the capability of those two processors.
  4. I then see the VM is now only using 6 percent of the system's total resources

This is, therefore, a great capability that removes the need to hot-add processors to a VM. You can give a VM more processors than needed and typically it just won't use the resources it doesn't need (it's not like memory, which will use any memory seen for caching).

However, to be sure you can reduce the limits for those processors--and then at busy times of processing (maybe a monthly reporting batch) be able to increase the limit for the VM (like hot-adding processors)--let the job run. After it's finished, reduce the limit again.