VM fails to power on or migrate with "Insufficient capacity on each physical CPU" when CPU Reservation is set to 100% in VCD
search cancel

VM fails to power on or migrate with "Insufficient capacity on each physical CPU" when CPU Reservation is set to 100% in VCD

book

Article ID: 434192

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

When a virtual machine (VM) is configured with a 100% CPU Reservation guarantee sizing policy in VMware Cloud Director (VCD), the following issues may occur:

  • The VM fails to power on
  • The VM fails to migrate to a specific host via vSphere DRS
    The vCenter "Monitor" > "vSphere DRS" > "Faults" tab displays the following event:
    Insufficient capacity on each physical CPU. Host [hostname] cannot satisfy the xxxx MHz per vCPU requested for this virtual machine. Maximum core frequency is yyyy MHz per physical CPU.
    Note: yyyy smaller than xxxx

Environment

VMware vSphere 8.x
VMware Cloud Director

Cause

This issue occurs because the "vCPU speed" configured in VCD exceeds the base clock frequency of the physical CPU on the target ESXi host, while the VM's CPU reservation is set to 100%.

Resolution

To resolve this issue, the policy definition (vCPU speed) in VCD must be adjusted to match the ESXi host with the lowest CPU specifications in the cluster.

Step1: Identify the Lowest Spec Host
Check the physical CPU base clock (rated frequency) of all ESXi hosts in the target vCenter cluster and identify the lowest value (e.g., 2.0 GHz / 2000 MHz).

Step2: Modify the VCD Policy

  1. Log in to the VCD Provider Portal with System Administrator privileges
  2. Edit the configuration applied to the affected VM.
    • If using VM Sizing Policies:
      1. VM Sizing Policy cannot edit setting. Create new policy, publish the new policy to OVDC then assign new policy to the Virtual Machine.
        Create a VM Sizing Policy in VMware Cloud Director

    • If using Organization VDC Allocation Settings:
      1. Navigate to Cloud Resources -> Organization VDCs -> target VDC -> Allocation
      2. Edit Allocation and set vCPU speed
      3. Navigate to target Virtual Machine and navigate to Hardware  -> Compute
      4. Click Edit and save without change
      5. Click "MAKE VM COMPLIANT" on Compute policy complient error message
        * Note: The updated policy does not apply to existing VMs automatically, so it needs to be manually re-applied using this step