What is vCPU?
A vCPU stands for virtual central processing unit. One or more vCPUs are assigned to every Virtual Machine (VM) within a cloud environment. Each vCPU is seen as a single physical CPU core by the VM’s operating system. If the host machine has multiple CPU cores at its disposal, then the vCPU is actually made up of a number of time slots across all of the available cores, thereby allowing multiple VMs to be hosted on a smaller number of physical cores.
vCPU explained
How many vCPU’s can I use on my Virtual Machine (VM)?
A VM can use up to 48 vCPUs under VMware’s standard ESX host license and the Enterprise edition. The number of vCPUs assigned to your server depends on the amount of load the VM will be under.
What is the equivalent of 1vCPU in physical CPU terms?
A general estimation is that 1 vCPU = 1 Physical CPU Core. However, this is not entirely correct, as the vCPU is made up of time slots across all available physical cores, so in general 1vCPU is actually more powerful than a single core, especially if the physical CPUs have 8 cores.
VMware is designed to allow each VM to use a certain proportion of a core’s clock time using complex sharing algorithms in its “CPU Scheduler”. With an enterprise-grade cloud, if there is not enough CPU resources to go around (e.g. in the unlikely occurrence that the VMs are running vCPUs at 100%), the VMs can be automatically migrated using DRS and vMotion onto another host server that has spare CPU resources.
Calculating how many vCPUs you will get from physical CPUs
When calculating the number of VMs you will get from a single core there are a few things you need to consider. Firstly, the maths behind it, the basic calculation is:
(physical cores X threads available) X number of CPUs
However, this calculation is just a rough rule of thumb and in today’s cloud space, the number of vCPUs you can be allocated largely depends on your workload.
Let’s look at these aspects in more detail.
Physical cores
A core refers to the actual processing core of the CPU, which can have multiple cores. The amount of cores a CPU has varies by model and make, but an example VM setup might use:
- Intel Xeon – G10 24 core – 2.1GHz -Platinum 8160
- Intel Xeon – G10 12 core – 3GHz – Gold 6136
- Intel Xeon – G10 16 core – 2.1GHz – 6142
For help understanding what CPUs you require for your platform, talk to one of our cloud experts today.
Hyper-Threading
Hyper-threading is a technology that splits a single CPU core into two or more virtual cores; a thread refers to a string of instructions that a core is processes. Hyper-threading cores effectively allows a CPU to compute twice as much, meaning when calculating the amount of vCPUs you double the amount of physical cores you have.
What is a Hypervisor?
A hypervisor, also known as a virtual machine monitor, is a layer of software that operates on top of your physical hardware, creating and allowing multiple VMs to share resources like RAM and processing power in a managed and controlled fashion. We commonly use two VMware hypervisors:
- ESXi – A type 1 hypervisor that sits directly on the hardware, commonly referred to as a bare metal hypervisor.
- Workstation – A type 2 hypervisor that sits on top of the OS and uses it to communicate with the hardware.
Speak to our experts
Though these calculations offer a guide on what you may require, there are other factors in your cloud solution that can affect your VMs. Limited resources like RAM, storage or the amount of sockets available on the motherboard can all lead to bottlenecks in your configuration. These complexities are one of the reasons why we’d recommend consulting a managed hosting provider like Hyve. Talk to one of our cloud experts today to be advised on the optimal VMware vCPU configuration for your business.