Physical to Virtual Machines

I have series of Physical to Virtual machines currently sitting on VMware estate. All of them are running 2k3 and were originally Dell PowerEdge systems with a variety of CPU types.

Some systems have come across with 4 CPUs, other have just one 1. Do all of these systems, now they have become virtual, require CPU allocation to be the same ?

i.e  2 Virtual sockets, 1 core per socket for all ?

Please bare in mind these are only running standard windows services, nothing heavy like SQL or Exchange.
Who is Participating?
Andrew Hancock (VMware vExpert / EE MVE^2)Connect With a Mentor VMware and Virtualization ConsultantCommented:
Correct (cores = 1)
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
No, they do not have to be all the same.

Start off with a single  (1) vCPU, and add more if applicable. I would reduce to 1 vCPU socket, and check performance.

It's not often that a VM requires more than 2-4 vCPUs.

vSMP (virtual SMP) can affect virtual machine performance, when adding too many vCPUs to virtual machines that cannot use the vCPUs effectly, e.g. Servers than can use vSMP correctly :- SQL Server, Exchange Server.

This is true, many VMware Administrators, think adding lots of processors, will increase performance - wrong! (and because they can, they just go silly!). Sometimes there is confusion between cores and processors. But what we are adding is additional processors in the virtual machine.

So 4 vCPU, to the VM is a 4 Way SMP (Quad Processor Server), if you have Enterprise Plus license you can add 8, (and only if you have the correct OS License will the OS recognise them all).

If applications, can take advantage e.g. Exchange, SQL, adding additional processors, can/may increase performance.

So usual rule of thumb is try 1 vCPU, then try 2 vCPU, knock back to 1 vCPU if performance is affected. and only use vSMP if the VM can take advantage.

Example, VM with 4 vCPUs allocated!

My simple laymans explaination of the "scheduler!"

As you have assigned 4 vCPUs, to this VM, the VMware scheulder, has to wait until 4 cores are free and available, to do this, it has to pause the first cores, until the 4th is available, during this timeframe, the paused cores are not available for processes, this is my simplistic view, but bottom line is adding more vCPUs to a VM, may not give you the performance benefits you think, unless the VM, it's applications are optimised for additional vCPUs.

See here

see here

also there is a document here about the CPU scheduler
No, there's no reason to have them sucking down excess CPU if it's not needed.  And you should be able to adjust down without an issue, although it will require you to take the VM's down to make the change.
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

L-PlateAuthor Commented:
Thanks for you responses both of you.

Hancocka, which section are you referring to change ?

Is it Number of Virtual sockets or Number of cores per socket ?

Would comparing a physical machines hardware platform been taken into consideration for CPU allocation ? i.e a 2008 box has a 2 physical CPUs, each being quad cores.

Would it be safe to transfer that config virtually ?
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
change to 1 vCPU socket. (cores is usually altered for licensing reasons).

always use 1 vCPU and adjust.
L-PlateAuthor Commented:

So I can adjust virtual sockets to whatever I need in regards to performance and reduce the cores per socket to 0 as this is purely for licensing requirements.

correct ?
L-PlateAuthor Commented:
thank you, sorry for the delay
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.