HomeStudy GuidesVCP-DCV for vSphere 7.xvSphere 7 - Describe vSphere Enhanced vMotion Compatibility (EVC)

vSphere 7 - Describe vSphere Enhanced vMotion Compatibility (EVC)

Virtualization certification. This article covers Section 1: Architectures and Technologies. Objective 1.6.2 – Describe vSphere Enhanced vMotion Compatibility (EVC). 

This article is part of the VMware vSphere 7.x - VCP-DCV Study Guide. Check out this page first for an introduction, disclaimer, and updates on the guide. The page also includes a collection of articles matching each objective of the official VCP-DCV.

Describe vSphere Enhanced vMotion Compatibility (EVC)

In objective, we quickly describe vSphere Enhanced vMotion Compatibility (EVC). First, let’s take a look at VMware vMotion. Then, an overview of how EVC works and some of its basic concepts.

This topic is a child of Objective 1.6 – Describe ESXi cluster concepts. It is also highly related to the previous topic: Describe Distributed Resource Scheduler (DRS). Both topics should be considered and are recommended before moving to this one.

There is a nice article about this subject on VMware vSphere Blogs. I also referenced material from here. Enhanced vMotion Compatibility (EVC) Explained.

- Advertisement -

1. VMware vMotion

VMware vSphere vMotion is a zero downtime live migration of workloads from one server to another. This capability is possible across vSwitches, Clusters, and even Clouds (depending on the vSphere edition that you have). During the workload migration, the application is still running and users continue to have access to the systems they need. 

VMware vSphere live migration allows to move of an entire running virtual machine from one physical server to another, with no downtime. 

  • The virtual machine retains its network identity and connections, ensuring a seamless migration process. 
  • Transfer the virtual machine’s active memory and precise execution state over a high-speed network, allowing the virtual machine to switch from running on the source vSphere host to the destination vSphere host. 
  • This entire process takes less than two seconds on a gigabit Ethernet network. 

Live migration allows to:

  • Automatically optimize virtual machines within resource pools.
  • Perform hardware maintenance without scheduling downtime or disrupting business operations.
  • Move virtual machines away from failing or underperforming servers.

Using VMware vSphere vMotion automated migration, migrations can be scheduled at predefined times, without administrator intervention. The VMware vSphere Distributed Resource Scheduler, one of vSphere’s automated migration features, uses vMotion to optimize virtual machine performance across vSphere clusters. 

vMotion allows to:

- Advertisement -
  • Migrate multiple virtual machines running any operating system across any type of hardware and storage supported by vSphere, complete with an audit trail.
  • Identify the optimal placement for a virtual machine in seconds.

2. Cluster-Level EVC

You can use the Enhanced vMotion Compatibility (EVC) feature to help ensure vMotion compatibility for the hosts in a cluster.

  • EVC ensures that all hosts in a cluster present the same CPU feature set to virtual machines, even if the actual CPUs on the hosts differ. 
  • Using EVC prevents migrations with vMotion from failing because of incompatible CPUs.

When you configure EVC, you configure all host processors in the cluster to present the feature set of a baseline processor. 

  • This baseline feature set is called the EVC mode. 
  • EVC uses AMD-V Extended Migration technology (for AMD hosts) and Intel FlexMigration technology (for Intel hosts) to mask processor features. 
  • The EVC mode must be equivalent to, or a subset of, the feature set of the host with the smallest feature set in the cluster.
  • EVC masks only those processor features that affect vMotion compatibility. 

Enabling EVC does not prevent a virtual machine from taking advantage of faster processor speeds, increased numbers of CPU cores, or hardware virtualization support that might be available on newer hosts.

  • EVC cannot prevent virtual machines from accessing hidden CPU features in all circumstances. 
  • Applications that do not follow CPU vendor recommended methods of feature detection might behave unexpectedly in an EVC environment. 
  • VMware EVC cannot be supported with ill-behaved applications that do not follow the CPU vendor recommendations. 

Note: Starting with vSphere 7.0 Update 1, you can take advantage of the EVC feature for Virtual Shared Graphics Acceleration (vSGA). vSGA allows multiple virtual machines to share GPUs installed on ESXi hosts and leverage the 3D graphics acceleration capabilities.

2.1 EVC Requirements for Hosts

To improve CPU compatibility between hosts that have varying CPU feature sets, you can hide some host CPU features from the virtual machines by placing the host in an Enhanced vMotion Compatibility (EVC) cluster. Hosts in an EVC cluster and hosts that you add to an existing EVC cluster must meet EVC requirements.

Power off all virtual machines in the cluster that are running on hosts with a feature set greater than the EVC mode that you intend to enable. You can also migrate these virtual machines out of the cluster.

All hosts in the cluster must meet the following requirements:

  • Supported ESXi version. ESXi 6.5 or later.
  • vCenter Server. The host must be connected to a vCenter Server system.
  • CPUs. A single vendor, either AMD or Intel.
  • Advanced CPU features enabled. Enable these CPU features in the BIOS if they are available:
    • Hardware virtualization support (AMD-V or Intel VT)
    • AMD No eXecute(NX)
    • Intel eXecute Disable (XD)
  • Supported CPUs for the EVC mode that you want to enable
  • Host Configured for vMotion

3. Per-VM EVC

When a virtual machine is moved to another cluster, either on-prem or in a hybrid cloud environment, it loses its EVC configuration depending on the destination environment. The per-VM EVC feature facilitates the migration of the virtual machine beyond the cluster and across vCenter Server systems and data centers that have different processors.

  • By implementing per-VM EVC, the EVC mode becomes an attribute of the virtual machine rather than the specific processor generation it happens to be booted on in the cluster. 
  • This helps to be more flexible with EVC enablement and baselines

The EVC mode of a virtual machine is independent of the EVC mode defined at the cluster level. 

  • The cluster-based EVC mode limits the CPU features a host exposes to virtual machines. The per-VM EVC mode determines the set of host CPU features that a virtual machine requires to power on and migrate.
  • By default, when you power on a newly created virtual machine, it inherits the feature set of its parent EVC cluster or host.
  • You can change the EVC mode for each virtual machine separately. 
  • You can raise or lower the EVC mode of a virtual machine. Lowering the EVC mode increases the CPU compatibility of the virtual machine. 
  • You can also use the API calls to customize the EVC mode further.

The per-EVC configuration is saved in the vmx file. 

- Advertisement -
  • The vmx file is the file used as a value dictionary that provides the configuration of the virtual machine.
  • If the virtual machine is migrated to another cluster, the per-EVC configuration is moving along with the virtual machine itself. 

3.1 EVC Requirements for VMs

The per-VM EVC feature has the following requirements.

  • Host compatibility. ESXi 6.7 or later.
  • vCenter Server compatibility. vCenter Server 6.7 or later.
  • Virtual machine compatibility. Virtual hardware version 14 or later.

4. Cluster-Level EVC vs. Per-VM EVC

There are several differences between the way the EVC feature works at the host cluster level and at the virtual machine level.

  • Unlike cluster-based EVC, you can change the per-VM EVC mode only when the virtual machine is powered off.
  • With cluster-based EVC, when you migrate a virtual machine out of the EVC cluster, a power cycle resets the EVC mode that the virtual machine has. With Per-VM EVC, the EVC mode becomes an attribute of the virtual machine. A power cycle does not affect the compatibility of the virtual machine with different processors.
  • When you configure EVC at the virtual machine level, the per-VM EVC mode overrides cluster-based EVC. If you do not configure per-VM EVC, when you power on the virtual machine, it inherits the EVC mode of its parent EVC cluster or host.
  • If a virtual machine is in an EVC cluster and the per-VM EVC is also enabled, the EVC mode of the virtual machine cannot exceed the EVC mode of the EVC cluster in which the virtual machine runs. The baseline feature set that you configure for the virtual machine cannot contain more CPU features than the baseline feature set applied to the hosts in the EVC cluster. 


VMware vCenter Server and Host Management

vSphere Virtual Machine Administration

Enhanced vMotion Compatibility (EVC) Explained


The topic reviewed in this article is part of the VMware vSphere 7.x Exam (2V0-21.20), which leads to the VMware Certified Professional – Data Center Virtualization 2021 certification. 

Section 1 - Architectures and Technologies. 

Objective 1.6.2 – Describe vSphere Enhanced vMotion Compatibility (EVC). 

See the full exam preparation guide and all exam sections from VMware.

More topics related to VMware

Juan Mulford
Juan Mulford
I have been active in IT for over fourteen years now. I am a solutions architect, working with storage, virtualization, and VDI solutions. For the past ten years, I have been living and working in Taiwan.


  1. Hi Sir Juan, I am a fan of this website. thank you for your post regarding the VCP DCV. When will your document be posted from objectives 1.8 onwards. Thank you

    • Hi Joseph,

      Thanks for your comment. I have other people asking me the same and sadly the answer is I don't know... This year I have been crazy busy involved in different projects and just don't have enough time.

      I will try to keep this project up, just stay tuned.


Leave a Reply

- Advertisement -

Popular Articles

Raspberry Pi OS in a Virtual Machine with VMware

Although the Raspberry Pi OS is designed and optimized for the Raspberry Pi module, it is possible to test and use it without its hardware, with VMware. This solution can be useful if you are a developer (or just a curious guy) and don't have a Raspberry Pi module with you
Unable to delete inaccessible datastore

Unable to delete an "inaccessible" datastore

I was switching my storage array, so I migrated the VMs from that old datastore/storage to a new datastore/storage. The old datastore was shared by 3 ESXi hosts, no cluster. After migrating the VMs and unmount/delete the datastore, it was still presented in two of the ESXi hosts and was marked as inaccessible.
This is not a valid source path / URL

This is not a valid source path / URL - SourceTree and Gitlab

I have been working on a project with a friend who set up a repository in Gitlab but even though I was able to view all projects on it, I couldn’t really join the repository. I was using SourceTree and Gitlab.

How to export a Virtual Machine using the VMware OVF Tool

The VMware OVF Tool is implemented by VMware for easily importing and exporting virtual machines in Open Virtualization Format (OVF) standard format. Here, I want to show you how to download and install it, and then how to use it from a Windows machine.
Couldn't load private key - Putty key format too new

Couldn't load private key - Putty key format too new

couldn't load private key - Putty key format too new.” This issue happens when you use PuTTygen to generate or convert to a ppk key. Here is how to fix it. 
- Advertisement -

Recent Comments