Den största skill­na­den mellan CPU:er och vCPU:er är att CPU:er är fysiska, medan vCPU:er är en virtuell variant som baseras på pro­gram­va­ra. De två typerna av central­pro­ces­so­rer skiljer sig också åt när det gäller prestanda och när de används.

Skillnad 1: Teknisk grund

Den avgörande skill­na­den mellan CPU och vCPU är av teknisk natur. En CPU är en da­tor­hård­va­ra som van­ligt­vis kallas för ”processor”. Moderna CPU:er har van­ligt­vis flera kärnor, som de kan fördela processer som behöver utföras till.

En vCPU är däremot en mjuk­va­ru­ba­se­rad variant av en da­tor­styr­nings­en­het. 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 hy­per­vi­so­rer tillgång till de kärnor eller trådar som finns till­gäng­li­ga i fysiska pro­ces­so­rer.

Skillnad 2: Prestanda

När det gäller prestanda kommer du att märka en tydlig skillnad i pro­ces­sorka­pa­ci­te­ten hos vCPU:er och CPU:er. Detta beror på att vCPU:er, strängt taget, är mjuk­va­ru­ba­se­ra­de un­de­ren­he­ter till en CPU. Om du jämför en enskild vCPU och en enskild CPU med samma klock­has­tig­het (gigahertz) är den vir­tu­a­li­se­ra­de varianten inte lika kraftfull som sin hård­va­ru­mot­sva­rig­het. Detta beror delvis på att sam­ord­ning­en 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 un­derin­de­la­de kärnor och trådar bearbeta flera in­struk­tio­ner eller processer direkt och samtidigt. För att kunna göra detta måste vCPU:n kom­plet­te­ras med yt­ter­li­ga­re vCPU:er, vilket kan bli ganska pro­ble­ma­tiskt. Med ett ökande antal vCPU:er blir det alltmer kom­pli­ce­rat för CPU-sche­maläg­ga­ren att reglera tids­punk­ten för olika pro­ces­sers ex­e­kve­ring. De re­sul­te­ran­de vän­te­ti­der­na innebär att pre­stan­dan hos det virtuella CPU-nätverket inte kan utnyttjas till sin fulla potential.

Skillnad 3: An­vänd­nings­om­rå­de

CPU:er är hjärtat i den klassiska datorn. Utan till­räck­lig da­tor­kraft skulle datorer inte kunna utföra en rad olika uppgifter, såsom spel, streaming, bild- och vi­de­o­re­di­ge­ring och be­räk­ning­ar. Fysiska CPU:er används också i många andra var­dag­li­ga apparater, såsom kaf­fe­ma­ski­ner, disk­ma­ski­ner, kylskåp och, na­tur­ligt­vis, smartp­ho­nes och andra mobila enheter.

vCPU:er fungerar som den centrala da­tor­kom­po­nen­ten i vir­tu­a­li­se­ra­de miljöer. Det finns också många an­vänd­nings­sce­na­ri­er när det gäller virtuella maskiner med eget ope­ra­tiv­sy­stem. Test­mil­jö­er och server-/ap­pli­ka­tions­hos­ting som da­ta­bas­serv­rar, moln­lag­ring 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 vir­tu­a­li­se­rad da­tor­kraft kan in­te­ra­ge­ra med varandra. Den un­der­lig­gan­de fysiska CPU:n kan användas som bas för flera vir­tu­a­li­se­ra­de miljöer som körs samtidigt för flera användare. Det är detta som gör vCPU:er så in­tres­san­ta för le­ve­ran­tö­rer och de som använder moln­tjäns­ter.

Hur omvandlas CPU:er till vCPU:er?

Om du vill använda din dators fysiska CPU för att till­han­da­hål­la 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 till­han­da­hål­las:

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

Om du till exempel har in­stal­le­rat en CPU med fyra kärnor och åtta trådar kan du till­han­da­hål­la 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 tan­gent­kom­bi­na­tio­nen Ctrl + Skift + Esc för att öppna Ak­ti­vi­tets­han­te­ra­ren.
  2. Klicka på menyn Prestanda.
  3. Där hittar du en lista med in­for­ma­tion där du kan se värdena för kärnor, logiska pro­ces­so­rer (trådar) och socklar (fysiska CPU:er).
Bild: Windows Task Manager: CPU information
Windows Task Manager: CPU in­for­ma­tion

Om du använder ett Linux-ope­ra­tiv­sy­stem kan du ta reda på CPU-in­for­ma­tio­nen via ter­mi­na­len och genom att använda följande kommando:

lscpu
bash
Gå till huvudmeny