Den största skillnaden mellan CPU:er och vCPU:er är att CPU:er är fysiska, medan vCPU:er är en virtuell variant som baseras på programvara. De två typerna av centralprocessorer skiljer sig också åt när det gäller prestanda och när de används.

Skillnad 1: Teknisk grund

Den avgörande skillnaden mellan CPU och vCPU är av teknisk natur. En CPU är en datorhårdvara som vanligtvis kallas för ”processor”. Moderna CPU:er har vanligtvis flera kärnor, som de kan fördela processer som behöver utföras till.

En vCPU är däremot en mjukvarubaserad variant av en datorstyrningsenhet. Den finns inte i fysisk form utan baseras på en fysisk CPU. Beroende på behoven kan flera vCPU:er härledas från en klassisk fysisk CPU. Även om det inte är möjligt för en vCPU att baseras på flera fysiska CPU:er, kan vCPU:n använda flera kärnor i en fysisk CPU.

För att skapa och tilldela vCPU:er till en virtuell maskin (VM) får hypervisorer tillgång till de kärnor eller trådar som finns tillgängliga i fysiska processorer.

Skillnad 2: Prestanda

När det gäller prestanda kommer du att märka en tydlig skillnad i processorkapaciteten hos vCPU:er och CPU:er. Detta beror på att vCPU:er, strängt taget, är mjukvarubaserade underenheter till en CPU. Om du jämför en enskild vCPU och en enskild CPU med samma klockhastighet (gigahertz) är den virtualiserade varianten inte lika kraftfull som sin hårdvarumotsvarighet. Detta beror delvis på att samordningen med den fysiska CPU:n tar tid. Även om den tid detta tar ofta är försumbar, märks det när man utför särskilt krävande uppgifter.

Dessutom kan den fysiska CPU:n med sina underindelade kärnor och trådar bearbeta flera instruktioner eller processer direkt och samtidigt. För att kunna göra detta måste vCPU:n kompletteras med ytterligare vCPU:er, vilket kan bli ganska problematiskt. Med ett ökande antal vCPU:er blir det alltmer komplicerat för CPU-schemaläggaren att reglera tidspunkten för olika processers exekvering. De resulterande väntetiderna innebär att prestandan hos det virtuella CPU-nätverket inte kan utnyttjas till sin fulla potential.

Skillnad 3: Användningsområde

CPU:er är hjärtat i den klassiska datorn. Utan tillräcklig datorkraft skulle datorer inte kunna utföra en rad olika uppgifter, såsom spel, streaming, bild- och videoredigering och beräkningar. Fysiska CPU:er används också i många andra vardagliga apparater, såsom kaffemaskiner, diskmaskiner, kylskåp och, naturligtvis, smartphones och andra mobila enheter.

vCPU:er fungerar som den centrala datorkomponenten i virtualiserade miljöer. Det finns också många användningsscenarier när det gäller virtuella maskiner med eget operativsystem. Testmiljöer och server-/applikationshosting som databasservrar, molnlagring och virtuella privata servrar (VPS) är särskilt populära. Här blir det tydligt att det inte så mycket handlar om CPU kontra vCPU, utan mer om hur fysisk och virtualiserad datorkraft kan interagera med varandra. Den underliggande fysiska CPU:n kan användas som bas för flera virtualiserade miljöer som körs samtidigt för flera användare. Det är detta som gör vCPU:er så intressanta för leverantörer och de som använder molntjänster.

Hur omvandlas CPU:er till vCPU:er?

Om du vill använda din dators fysiska CPU för att tillhandahålla vCPU:er till en eller flera virtuella maskiner kan följande formel användas för att grovt beräkna antalet vCPU:er som kan tillhandahållas:

(Trådar x Kärnor) x Antal fysiska CPU:er = Antal vCPU:er

Om du till exempel har installerat en CPU med fyra kärnor och åtta trådar kan du tillhandahålla upp till 32 vCPU:er:

(8 trådar x 4 kärnor) x 1 = 32 vCPU:er

Du kan när som helst ta reda på antalet kärnor och trådar som din CPU har med bara några få steg. Om du arbetar på en Windows-dator kan du göra följande:

  1. Använd tangentkombinationen Ctrl + Skift + Esc för att öppna Aktivitetshanteraren.
  2. Klicka på menyn Prestanda.
  3. Där hittar du en lista med information där du kan se värdena för kärnor, logiska processorer (trådar) och socklar (fysiska CPU:er).
Bild: Windows Task Manager: CPU information
Windows Task Manager: CPU information

Om du använder ett Linux-operativsystem kan du ta reda på CPU-informationen via terminalen och genom att använda följande kommando:

lscpu
bash
Gå till huvudmeny