Vmotion of DRS initiated VM fails with "Module 'MonitorLoop' power on failed."
book
Article ID: 407248
calendar_today
Updated On:
Products
VMware vCenter Server
Issue/Introduction
Vmotion of DRS initiated VM fails with "Module 'MonitorLoop' power on failed."
On the ESXi, /var/run/log/VMkernel.log shows the below error -
Invalid memory allocation for VMM group: Admission check failed for memory resource
On the VPXD, /var/log/vmware/vpxd/vpxd.log shows the below error
2025-07-22T13:21:28.892Z info vpxd[10808] [Originator@6876 sub=Default opID=lro-1915766727-298371c-01-01] [VpxLRO] -- ERROR lro-1915766731 -- -- VmprovWorkflow: vmodl.fault.SystemError: --> (vmodl.fault.SystemError) { --> faultCause = (vim.fault.GenericVmConfigFault) { --> faultCause = (vmodl.MethodFault) null, --> faultMessage = (vmodl.LocalizableMessage) [ --> (vmodl.LocalizableMessage) { --> key = "msg.moduletable.powerOnFailed", --> arg = (vmodl.KeyAnyValue) [ --> (vmodl.KeyAnyValue) { --> key = "1", --> value = "MonitorLoop" --> } --> ], --> message = "Module 'MonitorLoop' power on failed. " --> }, --> (vmodl.LocalizableMessage) { --> key = "msg.migrate.resume.fail", --> arg = <unset>, --> message = "The VM failed to resume on the destination during early power on. " --> }, --> ], --> reason = "Module 'MonitorLoop' power on failed. " --> msg = "Module 'MonitorLoop' power on failed. " --> },
Environment
VMware vCenter Server 7.0 VMware vCenter Server 8.0
Cause
vMotion of a VM can fail at the destination ESXi kernel with an Admission check failed for memory resource error. This happens when the resource config specification sent by DRS has sum of reservations of direct descendants of root resource pool in the host mirror higher than that of host available capacity.
DRS uses a two-pass algorithm to "divvy" allocate a resource pool’s reservation to its child VMs. In the first pass, the resource pool reservation is distributed and capped at the VM’s current demand and subject to each VM’s fair share. In the second pass, excess reservation is distributed proportionally, capped at the VM’s configured size.
DRS initially try to do partial divvying which is an default optimized path where it doesn't construct and modify the entire host allocation tree before sending the resource config spec to the kernel. It only updates the portion of tree from the leaf and its ancestor path in the chain up to the root of the host allocation tree adjusting the reservations along the way, only when it fails it does the full divvying. During full divvying, DRS scales down the excess reservation on the entire host allocation tree proportionately before sending the resource config spec to kernel.
Resolution
Issue is resolved in vCenter Server 8.0.3.
Workaround:
Setting the advanced option forces DRS to perform full divvying where in DRS scales down the excess reservation before sending the resource config spec to kernel.
Open vCenter and select the desired cluster.
Select Configure, under Services, choose "vSphere DRS"
On the far right, click the "EDIT" button.
In the Advanced Options column (last column), set the "NewDeltaAlloc" option to 1.