Een virtuele CPU (vCPU), ook wel virtuele processor genoemd, is een fysieke centrale verwerkingseenheid (CPU) die aan een virtuele machine (VM) wordt toegewezen.
Gestandaard krijgen virtuele machines elk één vCPU toegewezen. Als de fysieke host echter meerdere CPU-cores tot zijn beschikking heeft, wijst een CPU-scheduler uitvoeringscontexten toe en wordt de vCPU in wezen een reeks tijdslots op logische processors.
Omdat verwerkingstijd factureerbaar is, is het voor een beheerder belangrijk te begrijpen hoe zijn cloudaanbieder het vCPU-gebruik documenteert in een factuur. Het is ook belangrijk dat de beheerder zich realiseert dat het toevoegen van meer vCPU's niet automatisch tot betere prestaties leidt. Naarmate het aantal vCPU's toeneemt, wordt het voor de scheduler namelijk moeilijker om tijdslots op de fysieke CPU's te coördineren, waardoor de wachttijd de prestaties kan verslechteren.
In VMware maken vCPU's deel uit van het SMP-multithreaded computermodel (Symmetric Multi-processing). SMP maakt het ook mogelijk threads te verdelen over meerdere fysieke of logische cores om de prestaties van meer parallelle gevirtualiseerde taken te verbeteren. vCPU's maken het mogelijk multitasking sequentieel uit te voeren in een multi-core omgeving.