This post is also available in: Italian

In a physical environment usually the term CPU is used to refer to the physical package (or socket). The real processing unit inside this package are called cores (and not that each core can have inside more ALU and can be seen as more logical cores with hyper-threading feature). More CPU usually define a SMP system, more cores a multi-core CPU, more CPU each with more cores a complex system (usually the NUMA architecture is used in this case).

In a virtual enviroment the term vCPU is used to refer to a core assigned to a VM. More vCPU define a vSMP system, similar to a physical system with more CPU each with a single core.

The number of vCPUs can be assigned is determined by the license edition (for more info see for all edition except the Enterprise+ was (in vSphere 4.x) 4 vCPU, now (in vSphere 5) is 8 vCPU. For the Enterprise+ edition was 8 and now is 32.

But the number of vCPU can have some impact on guest OS CPU licensing. For example Windows XP or 7 is limited to only 2 vCPUs as “physical” CPUs and can not use more than this limit… But can use more cores.

To get around this limit, it’s possible expose to a VM a more complicated structure where each vCPU has more than one cores. This can be set by and advanced setting in the vmx file. Note that from vSphere 5 this is possible also from graphics interface.

This post has already been read 1417 times.

Andrea MauroAbout Andrea Mauro (2642 Posts)

Virtualization & Cloud Architect. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-17. PernixPro 2014-16. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-17. Nutanix NTC 2014-17. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.

Related Post: