Powering on the vCLS VM fails with the error "Feature 'cpuid.mwait' was 0, but must be 1"
search cancel

Powering on the vCLS VM fails with the error "Feature 'cpuid.mwait' was 0, but must be 1"

book

Article ID: 395205

calendar_today

Updated On:

Products

VMware vCenter Server VMware vCenter Server 8.0

Issue/Introduction

  • Error on the cluster as "vSphere DRS functionality was impacted due to unhealthy state vSphere Cluster Services caused by the unavailability of vSphere Cluster Service VMs. vSphere Cluster Service VMs are required to maintain the health of vSphere DRS"

  • vCLS VMs were in powered off state

  • Powering on those VM gives the error " Feature 'cpuid.mwait' was 0, but must be 1"

Environment

VMware vCenter Server 8.x

Cause

This issue occurs when MWAIT/MONITOR parameter is not set for the CPU in the BIOS of ESXi hardware

Resolution

Following steps needs to be performed.

  1. Contact hardware vendor and enable "Monitor/MWAIT" option in the BIOS of the ESXi hardware

  2. Enable and disable retreat mode in the affected cluster as per: Putting a Cluster in Retreat Mode

  3. New vCLS VMs will be created and powered on which will have the cpuid.mwait value as 1

Additional Information

In order to identify whether MWAIT/MONITOR bit is set in BIOS perform the following steps:

  1. SSH to the ESXi host
  2. Run esxcfg-info | less
  3. Search for CPU and find the starting snippets for the CPU information.
  4. Look for CPUID 1 and check the corresponding ECX register value.
  5. Compare the last bit and check if it is hexadecimal f.
  6. If it is not f, it means that the MWAIT/MONITOR bit is not set in BIOS
Following is an example snippet displaying CPU information for a host that does not have MWAIT/MONITOR enabled:
 
\==+CPU Info :
|----Num Cores.......................................8
\==+Cpu Cores :
\==+CpuImpl :
|----ID........................................0
|----Family....................................6
|----Model.....................................63
|----Type......................................0
|----Stepping..................................2
|----Name......................................GenuineIntel
|----CPU Speed.................................2599997669
|----Bus Speed.................................99999908
|----APIC ID...................................0x00000000
|----Node......................................0
\==+CPU ID id0 :
|----EAX....................................0x0000000f
|----EBX....................................0x756e6547
|----ECX....................................0x6c65746e
|----EDX....................................0x49656e69
\==+CPU ID id1 :
|----EAX....................................0x000306f2
|----EBX....................................0x00100800
|----ECX....................................0x77fefbf7
|----EDX....................................0xbfebfbff
\==+CPU ID id80 :
|----EAX....................................0x80000008
|----EBX....................................0x00000000
|----ECX....................................0x00000000
|----EDX....................................0x00000000
\==+CPU ID id81 :
|----EAX....................................0x00000000
|----EBX....................................0x00000000
|----ECX....................................0x00000021
|----EDX....................................0x2c100800
 
 
Following is an example for the same host when MWAIT/MONITOR is enabled:
 
\==+Cpu Cores :
\==+CpuImpl :
|----ID........................................0
|----Family....................................6
|----Model.....................................63
|----Type......................................0
|----Stepping..................................2
|----Name......................................GenuineIntel
|----CPU Speed.................................2599997929
|----Bus Speed.................................99999901
|----APIC ID...................................0x00000000
|----Node......................................0
\==+CPU ID id0 :
|----EAX....................................0x0000000f
|----EBX....................................0x756e6547
|----ECX....................................0x6c65746e
|----EDX....................................0x49656e69
\==+CPU ID id1 :
|----EAX....................................0x000306f2
|----EBX....................................0x00100800
|----ECX....................................0x77fefbff
|----EDX....................................0xbfebfbff