CPU versus vCPU: een vergelijking tussen fysieke en virtuele CPU's
Het belangrijkste verschil tussen CPU’s en vCPU’s is dat CPU’s fysiek van aard zijn, terwijl vCPU’s een virtuele variant zijn die op software is gebaseerd. De twee soorten centrale verwerkingseenheden verschillen ook qua prestaties en wanneer ze worden gebruikt.
Verschil 1: Technologische basis
Het cruciale verschil tussen CPU en vCPU is van technische aard. Een CPU is een stuk computerhardware dat gewoonlijk ‘processor’ wordt genoemd. Moderne CPU’s hebben doorgaans meerdere cores, waaraan ze processen kunnen toewijzen die moeten worden uitgevoerd.
Een vCPU daarentegen is een softwarematige variant van een computerbesturingseenheid. Deze bestaat niet in fysieke vorm, maar is gebaseerd op een fysieke CPU. Afhankelijk van de vereisten kunnen meerdere vCPU’s worden afgeleid van een klassieke fysieke CPU. Hoewel het niet mogelijk is dat een vCPU op meerdere fysieke CPU’s is gebaseerd, kan de vCPU wel meerdere cores van een fysieke CPU gebruiken.
Om vCPU’s te creëren en toe te wijzen aan een virtuele machine (VM), hebben hypervisors toegang tot de cores of threads van fysieke processors die beschikbaar zijn.
Verschil 2: Prestaties
Wat prestaties betreft, zul je een duidelijk verschil merken tussen de verwerkingskracht van vCPU’s en CPU’s. Dit komt doordat vCPU’s strikt genomen softwarematige subeenheden van een CPU zijn. Als je een enkele vCPU en een enkele CPU met dezelfde kloksnelheid (gigahertz) vergelijkt, is de gevirtualiseerde variant niet zo krachtig als zijn hardware-tegenhanger. Dit komt deels doordat de coördinatie met de fysieke CPU tijd kost. Hoewel de hoeveelheid tijd die dit kost vaak verwaarloosbaar is, wordt het wel merkbaar bij het uitvoeren van bijzonder veeleisende taken.
Bovendien kan de fysieke CPU met zijn onderverdeelde cores en threads meerdere instructies of processen direct en gelijktijdig verwerken. Om dit te kunnen doen, zou de vCPU moeten worden aangevuld met nog meer vCPU’s, wat behoorlijk problematisch kan zijn. Met een toenemend aantal vCPU’s wordt het voor de CPU-planner steeds complexer om de uitvoeringstijd van verschillende processen te reguleren. Door de resulterende wachttijden kan de prestatie van het virtuele CPU-netwerk niet volledig worden benut.
Verschil 3: Toepassingsgebied
CPU’s vormen het hart van de klassieke computer. Zonder voldoende rekenkracht zouden pc’s niet in staat zijn om een breed scala aan taken uit te voeren, zoals gamen, streamen, beeld- en videobewerking en berekeningen. Fysieke CPU’s worden ook gebruikt in veel andere alledaagse apparaten, zoals koffiemachines, vaatwassers, koelkasten en natuurlijk smartphones en andere mobiele apparaten.
vCPU’s vervullen de rol van centrale computercomponent in gevirtualiseerde omgevingen. Er zijn tal van gebruiksscenario’s mogelijk als het gaat om virtuele machines met een eigen besturingssysteem. Testomgevingen en server-/applicatiehosting, zoals databaseservers, cloudopslag en virtual private servers (VPS), zijn bijzonder populair. Hier wordt duidelijk dat het niet zozeer gaat om CPU versus vCPU, maar meer om hoe fysieke en gevirtualiseerde rekenkracht met elkaar kunnen interageren. De onderliggende fysieke CPU kan worden gebruikt als basis voor verschillende gevirtualiseerde omgevingen die tegelijkertijd voor meerdere gebruikers draaien. Dit maakt vCPU’s zo interessant voor providers en gebruikers van clouddiensten.
Hoe worden CPU’s omgezet in vCPU’s?
Als u de fysieke CPU van uw computer wilt gebruiken om vCPU’s voor een of meer virtuele machines te leveren, kunt u de volgende formule gebruiken om het aantal vCPU’s dat kan worden geleverd bij benadering te berekenen:
(Threads x Cores) x Aantal fysieke CPU’s = Aantal vCPU’s
Als u bijvoorbeeld een CPU met vier cores en acht threads hebt geïnstalleerd, kunt u maximaal 32 vCPU’s leveren:
(8 threads x 4 cores) x 1 = 32 vCPU’s
U kunt op elk moment in slechts enkele stappen achterhalen hoeveel cores en threads uw CPU heeft. Als u op een Windows-pc werkt, kunt u de volgende stappen uitvoeren:
- Gebruik de toetsencombinatie Ctrl + Shift + Esc om Taakbeheer te openen.
- Klik op het menu Prestaties.
- Daar vindt u een lijst met informatie waarin u de waarden voor cores, logische processors (threads) en sockets (fysieke CPU’s) kunt vinden.

Als u een Linux-besturingssysteem gebruikt, kunt u de CPU-informatie achterhalen via de terminal en met behulp van de volgende opdracht:
lscpubash