Vmotion of DRS initiated VM fails with "Module 'MonitorLoop' power on failed."
search cancel

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. 

  1. Open vCenter and select the desired cluster.
  2. Select Configure, under Services, choose "vSphere DRS"
  3. On the far right, click the "EDIT" button.
  4. In the Advanced Options column (last column), set the "NewDeltaAlloc" option to 1.