VMware Cloud Community
Artnel
Contributor
Contributor
Jump to solution

the best form to configure CPUs on VMs (number of virtual sockets x number of cores per socket)

Hi,

I have a HP ML110 G7, with a Intel® Xeon® Processor E3-1220 (Quadcore, 3.10 GHz), and i will configure two VMs, one Win2008SeverR2 and one LinuxDebian 6.

I have found some tutorials about configurations of vCPUs but i still have some questions about.

For example, to divide exactly the same processor capacity between both VMs, would be correct like this:    ????

Win2008-->   number of virtual sockets      [ 2 ]

                    number of cores per socket  [ 2 ]

LinDebian-->  number of virtual sockets      [ 2 ]

                    number of cores per socket   [ 2 ]

Or this way i use the full capacity on both VMs? (instead of using 50% on each one)

1 Solution

Accepted Solutions
a_p_
Leadership
Leadership
Jump to solution

Welcome to the Community,

whether you use 2 sockets x 2 cores, 1 socket x 4 cores or 4 socket x 1 cores doesn't matter from the host's point of view. It only makes a difference how the vCPUs are presented to the guest OS and may be required if the guest doesn't support a large number of sockets or for licensing reasons. Basically you should avoid to assign more vCPUs than really required to a VM. The host's resource scheduler does a pretty good job, but configuring multiple VMs with the same number of vCPUs as cores on the host, may increase ready time and therefore decrease overall performance for all VMs.

André

View solution in original post

5 Replies
a_p_
Leadership
Leadership
Jump to solution

Welcome to the Community,

whether you use 2 sockets x 2 cores, 1 socket x 4 cores or 4 socket x 1 cores doesn't matter from the host's point of view. It only makes a difference how the vCPUs are presented to the guest OS and may be required if the guest doesn't support a large number of sockets or for licensing reasons. Basically you should avoid to assign more vCPUs than really required to a VM. The host's resource scheduler does a pretty good job, but configuring multiple VMs with the same number of vCPUs as cores on the host, may increase ready time and therefore decrease overall performance for all VMs.

André

Artnel
Contributor
Contributor
Jump to solution

Thanks Andre,

I have read about the quantity of core suported by S.O.s, and now, with your explanation i understood better.

Just another question... i could configure the full capacity of the host processor to all VMs, and this would be utilized just by demand on each vm? (if one of the VM don't need  a lot of processing, the host processor would be free for another vm that need a lot of processing, correct?)

But, per another vision, if both VMs need a lot of processing at the same time, will happen like you told, lost of performance.

is this correct?

Jhonas

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

That's correct, you can even overprovision CPU and memory. Although the overall performance will mainly depend on the workload, resources may become exhausted faster, the more vCPUs you assing to each VM. As an example, you may be able to run 20 VMs with a single vCPU each without issue on this host, but running 3 VMs with 4 vCPUs may slow down the whole system. And don't forget that the host itself also requires resources.

André

Artnel
Contributor
Contributor
Jump to solution

Very very thank for your help André!

Jhonas

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

In case you are interested, take a look at http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf

André

Reply
0 Kudos