Configuration of VMs and its different virtual hardware options has some direct impact on performance. In this post, we'll try to have a look at different options available. Today's post is VCP6.7-DCV Objective 5.3 – Identify impacts of VM configurations.
The official VMware blueprint has 41 chapters so we try to follow those guidelines.
The Professional vSphere 6.7 Exam 2019 validates that an individual can implement, manage, and troubleshoot a vSphere V6.7 infrastructure, using best practices to provide a powerful, flexible, and secure foundation for business agility that can accelerate the transformation to cloud computing.
Note: If you want to pass Professional vSphere 6.7 Exam 2019, you have also a possibility to use our VCP6.5-DCV Study guide and pass VCP6.5-DCV: VMware Certified Professional 6.5 – Data Center Virtualization exam. You'll still earn the VCP-DCV 2019 Certification.
Before going further, make sure that you know the composition of VM files. There is a dedicated lesson in our guide – Objective 1.10 Describe a virtual machine (VM) file structure.
It's a fairly difficult lesson as to Identify impacts of VM configurations isn't easy to document in a single blog post. Let's try at least.
VM's components are usually necessary for each VM to run. Each VM has typically an OS, VMware Tools, and virtual resources and hardware. VMware tools are an essential part of every VM. VMware Tools is a suite of utilities that enhances the performance of the virtual machine's guest operating system and improves management of the virtual machine. It includes device drivers and other software that is essential for your VM. With VMware Tools, you have more control over the virtual machine interface.
This guide is available as Free PDF!
Free Download at Nakivo – VCP6.7-DCV Study Guide.
Compatibility Settings – you assign each virtual machine to a compatible ESXi host version, cluster, or datacenter by applying a compatibility setting. The compatibility setting determines which ESXi host versions the virtual machine can run on and the hardware features available to the virtual machine.
You can schedule compatibility upgrade for a single VM or for a couple of VMs.
- Create a backup or snapshot of the virtual machines.
- Upgrade to the latest version of VMware Tools. On Microsoft Windows virtual machines, if you
upgrade the compatibility level before you upgrade VMware Tools, the virtual machine might lose its
- Right-click a virtual machine and select Compatibility > Schedule VM Compatibility Upgrade.
- In the Schedule, VM Compatibility Upgrade dialog box, confirm that you want to schedule a
compatibility upgrade by clicking Yes.
From the Compatible with drop-down menu, select the compatibility to upgrade to.
The virtual machine compatibility is upgraded the next time you restart the virtual machine. The virtual machine compatibility is upgraded and the new version appears on the virtual machine
Check vSphere Virtual Machine Administration PDF, page 93 for all details about Supported Features for Virtual Machine Compatibility.
Hardware Device – Each VM has CPU, Memory, and disk. All recent operating systems provide support for virtual memory, allowing the software to use more memory than the machine physically has.
Virtual Machine Options
Use the available virtual machine options to fine-tune the settings and behavior of your virtual machine
and to ensure maximum performance.
Virtual CPU configuration
You can add, change or configure CPU resources to improve VM performance. Some terminology from VMware:
CPU socket – A CPU socket is a physical connector on a computer motherboard that connects to a single physical CPU. Some motherboards have multiple sockets and can connect multiple multicore processors (CPUs).
Core – A core contains a unit containing an L1 cache and functional units needed to run applications. Cores can independently run applications or threads. One or more cores can exist on a single CPU.
Resource sharing – Shares specify the relative priority or importance of a virtual machine or resource pool. If a virtual machine has twice as many shares of a resource as another virtual machine, it is entitled to consume twice as much of that resource when the two virtual machines are competing for resources.
Resource allocation – You can change CPU resource allocation settings, such as shares, reservation, and limit, when available resource capacity does not meet demands. For example, if at year-end, the workload on accounting increases, you can increase the accounting resource pool reserve.
vSphere Virtual Symmetric Multiprocessing (Virtual SMP) – Virtual SMP or vSphere Virtual Symmetric Multiprocessing is a feature that enables a single virtual machine to have multiple processors.
The latest virtual hardware 15 (vmx-15) introduced in vSphere 6.7 U2, brought a possibility to allocate up to 256 vCPUs to VMs. (Previous version of virtual hardware were capable to allocate up to 128 vCPUs).
Check VMware KB article 1003746.
ESXi 6.7u2 introduces hardware version 15. This new hardware version allows for the creation of a VM with up to 256 vCPUs. It is important to note that a hardware version 15 VM cannot be vMotioned to a host on a prior version of ESXi, including ESXi 6.7u1, ESXi 6.7, ESXi 6.0 etc, as these prior ESXi versions are not compatible with the new hardware version.
Similarly, vCenter 6.7 or vCenter 6.7u1 can be used to manage ESXi 6.7u2 hosts as long as hardware version 15 VMs are not in use. For customers looking to create, run, and manage hardware version 15 VMs, both the ESXi hosts in the cluster and vCenter need to be upgraded to at least 6.7u2.
VMware multicore virtual CPU support lets you control the number of cores per virtual socket in a virtual machine. This capability lets operating systems with socket restrictions use more of the host CPU's cores, which increases overall performance.
Note: Make sure to comply with EULA of the guest OS.
Using multicore virtual CPUs can be useful when you run operating systems or applications that can take advantage of only a limited number of CPU sockets.
A virtual machine cannot have more virtual CPUs than the actual number of logical CPUs on the host. The number of logical CPUs means the number of physical processor cores or two times that
number if hyperthreading is enabled. For example, if a host has 128 logical CPUs, you can configure the virtual machine for 128 virtual CPUs.
For more information about multicore CPUs, see the vSphere Resource Management PDF.
You can change the number of virtual CPUs while your virtual machine is powered off. If virtual CPU hotplug is enabled, you can increase the number of virtual CPUs while the virtual machine is running.
CPU Hot Add
The CPU hot add option lets you add CPU resources to a running virtual machine.
There are some requisites to enable the CPU hot-add option, you need to verify that the VM is running and is configured as follows:
- The virtual machine is turned off.
- Virtual machine compatibility is ESX/ESXi 4.x or later.
- The latest version of VMware Tools installed.
- A guest operating system that supports CPU hotplug (with all recent OS, for Windows from Windows Server 2012 or W7).
To enable the CPU hot-add option:
Right-click a virtual machine in the inventory and select Edit Settings > Virtual Hardware tab, expand CPU, and select Enable CPU Hot Add.
Allocate CPU Resources
While you can allocate cpu resources directly on per-VM basis, it's recommended to use resource pools. You can change the amount of CPU resources allocated to a virtual machine by using the shares, reservations, and limits settings.
- Limit – Places a limit on the consumption of CPU time for a virtual machine. This value is expressed in MHz or GHz.
- Reservation – Specifies the guaranteed minimum allocation for a VM. The reservation is in MHz or GHz.
- Shares – Each VM is granted a number of CPU shares. More shares a VM has, more often it gets a time slice of a CPU when there is no CPU idle time. Shares are relative metric for allocating CPU capacity.
Enable Virtual CPU Performance Counters
You can identify and improve processor performance problems. This capability is useful for software developers who optimize or debug software that runs in the virtual machine.
Right-click a virtual machine in the inventory and select Edit Settings > On the Virtual Hardware tab, expand CPU and select the Enable virtualized CPU performance counters check-box. Click OK.
Virtual Memory Configuration
You can change the default RAM settings for a VM to enhance performance. Virtual machines that use EFI firmware require at least 96MB of RAM or they cannot power on.
Maximum memory size for a virtual machine depends on the host's physical memory and the virtual machine's compatibility setting.
If the virtual machine memory is greater than the host memory size, swapping occurs, which can have a severe effect on virtual machine performance. The maximum for best performance represents the threshold above which the host’s physical memory is insufficient to run the virtual machine at full speed.
Persistent memory is an amazing technology that multiplies the storage performances of servers. It was developed as RAM module that retains its content (across reboots too) and vSphere supports Two different modes of access to those modules. As vPMEM disk (exposed to a VM as datastore) or as vPMEM (direct and uninterrupted access to the NVDIMM hardware).
When you add a physical PMem device to a host, ESXi detects the PMem resource and exposes it as a host-local PMem datastore to the virtual machines that run on the host. Each host can have only one local PMem datastore that pools and represents all PMem resources of the host.
So, virtual machines can consume the PMem resources of the ESXi host as memory (through virtual NVDIMM devices) or as storage (through virtual PMem hard disks).
To sum Persistent memory features:
- DRAM-like latency and bandwidth
- Regular load/store CPU instructions
- Paged/mapped by operating system just like DRAM
- Data is persistent across reboots
Read more at page 109 of vSphere Virtual Machine Administration PDF.
This post could go longer and longer…. I really invite you to check the PDF mentioned above as there are some essential information about:
- Large Capacity Virtual Disk Conditions and Limitations
- Virtual Disk Provisioning Policies
- Virtual disk configuration
- Large Capacity Virtual Disk Conditions and Limitations
- Change the Virtual Disk Configuration
- Use Disk Shares to Prioritize Virtual Machines
- Configure Flash Read Cache for a Virtual Machine (vFlash read cache is getting phased out…. just a side note).
- Determine the Virtual Disk Format and Convert a Virtual Disk from
the Thin Provision Format to a Thick Provision Format
- Add a Hard Disk to a Virtual Machine
- Add an Existing Hard Disk to a Virtual Machine
- Add an RDM Disk to a Virtual Machine
- SCSI and SATA Storage Controller Limitations, and Compatibility
I think we've got a major chapter here which needs to study from the PDF (or at least read it only once to get some basics…). We simply can't write everything here. I highly recommend to get the whole documentation PDF set mentioned on the VCP6.7-DCV Study Guide Page.
We haven't even touched on network configuration or network adapter types… -:). In this lesson which was about Identify impacts of VM configurations, we tried to list a maximum of options for VM configuration, but it's definitely not a single blog post(chapter) option. But that's the way it is. When you go for an exam, you never know if you succeed or not.
More from ESX Virtualization
- What is Host Guardian Service?
- What is vCenter Embedded Linked Mode in vSphere 6.7?
- What is VMware Snapshot?
- VMware Tools Offline VIB for ESXi Host – Bundle Download and Install
- How to Patch VMware vCenter Server Appliance (VCSA) 6.7 Offline