Una CPU virtuale (vCPU), nota anche come processore virtuale, è un'unità di elaborazione centrale (CPU) fisica assegnata a una macchina virtuale (VM).
Per impostazione predefinita, alle macchine virtuali viene assegnata una vCPU ciascuna. Se l'host fisico dispone di più core CPU, tuttavia, uno scheduler CPU assegna i contesti di esecuzione e la vCPU diventa essenzialmente una serie di slot temporali sui processori logici.
Poiché il tempo di elaborazione è fatturabile, è importante che un amministratore comprenda in che modo il suo provider di servizi cloud documenta l'utilizzo della vCPU in una fattura. È anche importante che l'amministratore si renda conto che l'aggiunta di più vCPU non migliorerà automaticamente le prestazioni. Questo perché all'aumentare del numero di vCPU, diventa più difficile per lo scheduler coordinare gli intervalli di tempo sulle CPU fisiche e il tempo di attesa può ridurre le prestazioni.
In VMware, le vCPU fanno parte del modello di calcolo multi-threaded SMP (symmetric multi-processing). SMP consente inoltre di suddividere i thread su più core fisici o logici per migliorare le prestazioni di più attività virtualizzate parallele. Le vCPU consentono di eseguire il multitasking in modo sequenziale in un ambiente multi-core.