What is a vCPU?

vCPUs are virtualised versions of physical CPUs and an elementary component of cloud computing. A major advantage of these virtualised computing units is their good scalability, which is why they play an important role in cloud hosting.

What does a vCPU do?

A vCPU (Virtual Central Processing Unit) is the virtualised variant of a physical CPU. In other words, vCPUs are the central control units in virtual machines (VMs) and cloud environments. Today’s multi-core processors can not only be used as a single vCPU, but as the basis for multiple virtual CPUs. The number of potential vCPUs is not linked to the number of cores and threads (see multithreading), but rather to the result of the following calculation:

(Threads x Cores) x Physical CPU Number = Number of vCPUs

vCPUs are software implementations of physical templates, which are perceived as real processor cores by the operating system. Each virtual machine requires at least one vCPU. However, depending on the scenario, several virtual central processing units can also be assigned if required.

Tip

Want to dive deeper into the topic of vCPUs? Our articles on virtualisation and server virtualisation provide you with additional information about the features and possibilities of virtual computing resources.

What are the benefits of vCPUs?

Virtual CPUs have some significant advantages when compared with their physical counterparts. The main benefits include:

  • increased scalability
  • improved efficiency
  • increased flexibility
  • lower costs

What’s also great about virtualisation is the excellent scalability of hardware resources. The vCPUs used in a virtual machine, for example, can come from several different physical hosts. This means that processor performance can easily be scaled up as workload increases.

If vCPUs are no longer needed, they can simply be used for other VMs. This is particularly valuable for hosting providers, as the underlying infrastructure can be divided up between customers in a particularly efficient manner. Users also benefit from this by being able toflexibly adjust the requirement for vCPUs. Since there is no fixed hardware setup, it is easier to increase or decrease processor power for cloud servers or virtual private servers.

The efficiency and scalability of a vCPU is also advantageous when it comes to costs. Several operating systems including the respective application software can be run on the basis of a single host system. This means that the available computing power is used optimally and in many cases, it reduces the need for additional hardware.

Tip

You can learn more about the differences between virtualised and physical central processing units in our article ‘CPU vs. vCPU’.

When are vCPUs used?

vCPUs are essential for cloud computing to function. Whenever hardware and software is made available in the cloud, virtual computing units are used. These are used, for example, as part of cloud storage, server hosting or when using a cloud PC such as Windows 365. How many vCPUs are actually required depends on your workload. In many scenarios, one to two vCPUs are enough. For more demanding workloads such as a database, email or gaming server, the requirements are higher. This is also the case when using physical computing units.

Container platforms such as Docker are another type of virtualisation technology that relies on vCPUs. Unlike virtual machines, where fully functional systems are virtualised, container platforms only virtualise individual applications.

How to calculate the vCPU requirement

The big challenge in a virtualised environment is to provide enough vCPUs without wasting computing power. To work out how many vCPUs you need, you can use the number of physical cores you would need as a reference. For example, if the software (don’t forget the operating system) requires eight physical cores, you should allocate eight vCPUs to the virtual environment.

If later on the requirements increase because you start running more applications simultaneously or the project becomes more complex, you can simply increase the number of vCPUs. When the requirements decrease, simply decrease the number of vCPUs.

For compute-intensive workloads, it is also crucial that vCPUs are assigned to different physical CPUs. For example, if you have hardware with a dual-core CPU (2 physical and 4 logical cores) as a starting point, you should divide the four logical cores as follows for optimal performance:

  • You assign logical core 0 and logical core 2 to the first virtual machine. These are the first cores of the dual-core CPUs that have been physically installed. The resources made available should be sufficient to execute the workload.
  • Meanwhile, you can use logical core 1 as well as logical core 3 (the second cores of the physical dual-core CPUs) for a second virtual machine for workloads that do not have high demands, for example, a DNS server.
Tip

Want to learn more about processors and CPU? Take a look at the following articles:

Was this article helpful?
Page top