VMware DPM(Distributed Power Management) is a feature that is enabled at a cluster level(part of DRS) in vCenter Server. VMware DPM helps to reduce power consumption by powering off hosts where CPU/Memory demand(Virtual Machine CPU/Memory actual usage + unsatisfied demand) is low. 

How does VMware DPM decide when to power off or power on an ESXi host in the cluster?

  1. VMware DPM calculates the CPU/Memory demand at the cluster level(from all the ESXi hosts in the cluster). CPU/Memory reservations that are configured are also taken into account.
  2. VMware DPM evaluates CPU/Memory demand for a time period of 5 minutes before providing a recommendation to power on an ESXi host.
  3. By default, the average CPU/Memory demand of each of the ESXi hosts in the cluster should not exceed 81% over a time period of 5 Minutes for VMware DPM to prompt a power on recommendation.
  4. VMware DPM evaluates CPU/Memory demand for a time period of 40 minutes before providing a recommendation to power off an ESXi host.
  5. By default, the average CPU/Memory demand of each of the ESXi hosts in the cluster should be less than 45% over a time period of 40 Minutes for VMware DPM to prompt a power off recommendation.

So how can you tweak the default values that DPM uses to provide recommendations?
There are two parameters that are used to change the default values that DPM uses to power on or power off hosts. DemandCapacityRatioTarget and DemandCapacityRatioToleranceHost.

The default values are calculated as:

Power On range = 63% + 18% = 81%
Power Off range = 63% - 18% = 45% 

In the above formula,
DemandCapacityRatioTarget = 63%
DemandCapacityRatioToleranceHost = 18%

For example, say you want the hosts to be powered off if their demand is less than 60% and powered on if the demand is greater than 96%:

DemandCapacityRatioTarget = 78%
DemandCapacityRatioToleranceHost = 18%

To configure the above parameters:

  1. In vSphere Client, right-click the cluster, then click Edit Settings > vSphere DRS.
  2. Click Advanced Options.
  3. Click in the area under the Options heading and enter the advanced parameter name.
  4. Click in the area under the Options heading, add “DemandCapacityRatioTarget” without quotes.
  5. Click in the area under the value heading and enter the desired value. (just the number without quotes)
  6. Repeat steps 4 and 5 but change the option to “DemandCapacityRatioToleranceHost” without quotes and enter the desired value.

We now know how DPM works, but hey, how does it choose the ESXi host that needs to be powered on/off?

The ESXi hosts are sorted into a particular order based on the below parameters before being selected to be powered on or off.

  1. ESXi hosts in DPM Automatic mode and manual mode.
  2. Larger capacity (CPU/Memory)
  3. No of VM’s running on the ESXi host

For more information: 

http://www.vmware.com/files/pdf/Distributed-Power-Management-vSphere.pdf

http://kb.vmware.com/kb/2007560