Mware vSphere DRS may fail to migrate virtual machines (VMs) even when ESXi hosts reach critical resource thresholds (e.g., CPU > 90%, Memory > 100%). This results in a persistent cluster imbalance and potential performance degradation for workloads on over-utilized hosts.
vpxd.log shows limited VM evaluation during DRS intervals.maxVmsPerIteration is set to a low value (e.g., 10).vSphere 8.x
vSphere 9.x
The use of the advanced parameter maxVmsPerIteration restricts the number of virtual machines DRS can scan and score during its 5-minute evaluation cycle. When set significantly lower than the default (256), DRS cannot evaluate enough of the workload to identify optimal migration candidates, leading to a lack of movement despite host-level resource pressure.
DRS calculations for migration are based on the number of VMs it is permitted to iterate through. This limit is divided across available hosts. If the VMs scanned do not meet the specific cost-benefit threshold for a migration at that moment, DRS will perform no actions until the next iteration, effectively ignoring the rest of the cluster's population.
maxVmsPerIteration.