Virtual machine does not power on when there is high CPU reservation
search cancel

Virtual machine does not power on when there is high CPU reservation

book

Article ID: 313075

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

  • Unable to power on virtual machine
  • The following error messages are displayed:
    • CPU min outside valid range
    • Invalid CPU allocation requested for VM
  • A message similar to the following may be reported in /var/log/vmware/hostd.log

    msg = 'Group host/user: Invalid cpu allocation requested for VM vmm0:VM1. (min: 6400 mhz, max: 4294967295, minLimit: 4294967295, shares: 4294967292)\nCould not power on VM : CPU min outside valid range.\nFailed to power on VM',
    faultCause = <unset>,
    faultMessage = (vmodl.LocalizableMessage) [],
    reason = 'Group host/user: Invalid cpu allocation requested for VM vmm0:VM1. (min: 6400 mhz, max: 4294967295, minLimit: 4294967295, shares: 4294967292)\nCould not power on VM : CPU min outside valid range.\nFailed to power on VM',
    messageInfo = (vim.vm.Message) []



Environment

VMware vCenter Server Appliance 6.7.x
VMware vSphere ESXi 6.0
VMware vSphere ESXi 6.7
VMware vSphere ESXi 6.5
VMware vCenter Server 6.0.x
VMware vSphere ESXi 5.1
VMware vSphere ESXi 7.0.0
VMware vSphere ESXi 5.5
VMware vCenter Server 7.0.x
VMware vCenter Server 6.7.x
VMware vCenter Server 6.5.x
VMware vCenter Server Appliance 6.5.x
VMware vCenter Server Appliance 6.0.x

Resolution

This issue occurs if the CPU min value is outside the valid range that the PCPU cannot serve.

The CPU min value may become invalid if:

  • The virtual machine was migrated from one host to another and PCPU capacity of the destination host is less than that of the source host.
  • The PCPU values were changed after the virtual machine was created and the current PCPU capability is insufficient to meet the virtual machine requirements.
To resolve this issue:
Using the  vSphere Client
Using the ESXi shell
 

 vSphere Client:

  1. Connect to the ESX or vCenter Server host with appropriate administrative credentials.
  2. Select the virtual machine from the inventory.
  3. Right-click on the virtual machine and click Edit Settings.
  4. On the Virtual Machine Properties dialog, click the Resources tab.
  5. Select CPU from list under the Settings column.
  6. Use the slider or the Reservation text box to lower the CPU reservation value.

 ESXi shell:

  1. Establish an SSH session to your ESX host. For more information, see Opening a command or shell prompt (1003892).
  2. Log in as root.
  3. Run the following command to list the location of the configuration files for the virtual machines registered on that ESX host:

    vmware-cmd -l

     
  4. Record the location of the .vmx file (configuration file) for the virtual machine you are troubleshooting.

    For example:

    /vmfs/volumes/########-####-########3333/vm-name/vm-name.vmx

     
  5. If the virtual machine is not registered on the ESX host and you want to search its configuration file, run the following command and press Enter:

    find/vmfs -name "*.vmx”

     
  6. Make a backup copy of the vm-name.vmx file.
  7. Open the vm-name.vmx file in a text editor and locate the line:

    sched.cpu.min = "3230"

     
  8. The value identified in the quotes exceeds the amount of physical CPU for one core. Lower the reservation by changing this value.
  9. Save the file and exit the editor.
  10. Power on the virtual machine.

For related troubleshooting information, see Troubleshooting a virtual machine that is unresponsive because of a configuration issue (1007814).

Additional Information