Updated 2 November 2026 · Published by Zoorik
A vCPU, or virtual CPU, is a processor as a virtual machine (VM) sees it: one thread of a physical core, or a whole core.
vCPU vs core: threads and hyper-threading
With simultaneous multithreading (SMT), also called hyper-threading, one CPU core runs more than one thread at once. Each thread is one vCPU.
Some VMs give each vCPU a whole core, with one thread per core. AWS Graviton and AMD-based M7a instances do this, and so do Azure’s Arm-based Dpsv5 VMs.
vCPUs on AWS EC2 and Azure
On AWS, an m5.xlarge has 2 CPU cores with 2 threads each by default, so 4 vCPUs.
On Azure, a VM size name carries its vCPU count: Standard_D4s_v5 has 4. The Dsv5 series runs on hyper-threaded Intel Xeon processors, so each vCPU is a thread.
vCPU vs CPU, and what 1 CPU means in Kubernetes
The CPU is the physical processor in the server that hosts the VM. A VM’s vCPUs are a share of that CPU’s cores or threads.
In Kubernetes, 1 CPU is one physical core on a physical host, or one virtual core on a VM. So on AKS and EKS nodes, 1 CPU is 1 vCPU.
Pods can’t use all of a node’s vCPUs: system daemons use a share, so the node’s allocatable CPU is less than its capacity.
Why vCPUs matter for your cloud cost
- EC2 On-Demand pricing lists each instance type’s vCPUs and memory beside its hourly rate, so you can compare the price per vCPU. Prices change.
- Some fees count vCPUs. On EC2, Red Hat Enterprise Linux (RHEL) is priced per vCPU-hour. License-included Windows and SQL Server fees follow the vCPUs you configure.
- For software licensed per core, you can keep the memory and run fewer vCPUs. AWS CPU options and Azure constrained vCPU sizes, such as Standard_E32-16s_v5, do this at the same VM price.
- The Kubernetes scheduler places pods by their CPU requests, not their use. Requests above real use hold vCPUs that sit idle, so the cluster needs more nodes.
- Coral rebalances CPU and memory requests on AKS and EKS to match real use, and drains spare nodes so your autoscaler can remove them.
Read next: Kubernetes allocatable vs capacity: what pods can use
Sources: AWS, “CPU options for Amazon EC2 instances” (opens in a new tab); AWS, “Rules for specifying CPU options for an Amazon EC2 instance” (opens in a new tab); AWS, “Specifications for Amazon EC2 general purpose instances” (opens in a new tab); AWS, “Amazon EC2 On-Demand Pricing” (opens in a new tab); Microsoft Learn, “Dsv5 size series” (opens in a new tab); Microsoft Learn, “Dpsv5 size series” (opens in a new tab); Microsoft Learn, “Azure VM sizes naming conventions” (opens in a new tab); Microsoft Learn, “Constrained vCPU sizes” (opens in a new tab); Kubernetes, “Resource Management for Pods and Containers” (opens in a new tab).