VMware Cloud Community
moneymm
Contributor
Contributor

Best way to setup Number of virtual Sockets and cores.

I have an 8 core processor, w/ 32GB or Ram.

I want to setup 30 VM, all with equal ability.

When setting number of virtual sockets, number of cores per socket, what should I put to get the best out of each of the 30 VM? 1 virtual socket and 1 core socket on each VM?

Other than this is there anything I should look into modifying?  Resource allocation reservation?

Reply
0 Kudos
15 Replies
weinstein5
Immortal
Immortal

Always start with a single vcpu because you can add  another but I do not think you will have an issue with CPU - depending on how much memory you assign to the VMs you can run into issues with memory -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
shishir08
Hot Shot
Hot Shot

If all the VMs handle equal load then 1vCPU per VM will suffice.But remember you have 8 core with you in the server but you are powering on 30 VMs each with one vCPU that means its equivalent to 4X over-commitment so be prepared to see a performance hit. Other than this there are ESX overhead which will also consume CPU and memory resources which will be very high when you will power on 30 VM.

Reply
0 Kudos
moneymm
Contributor
Contributor

Is 30 VMs too many just to run one or two basic applications on each?  

How many do you think my server will be able to run before its unbareble slow and not functioning?

AMD FX 8120 Black Edition 3.1GHz Eight-Core

7200 1 TB Hard Drive

32 GB DDR3-1600

xp pro 32 bit on each of the VMs

Reply
0 Kudos
shishir08
Hot Shot
Hot Shot

Think this way ,you are trying to achieve 4*X overcommitment ,which will in turn make all your VM very slow and non functioning. You can try out powering out 15 VMs first and check how the VMs are performing.Depending on that you can increase any more VM to be powered on the server.

Reply
0 Kudos
schepp
Leadership
Leadership

Do you plan to run those VMs on the local 1TB Hard Drive? I hope not because you will be noticing a poor performance during big read/write operations.

If you deploy 30 VMs with 1 vCPU, most of your physical cores will have to handle 4 vCPUs each. Remember that while the core is doing an operation for 1 VM, the other 3 VMs will have to wait until they can use the core.

I would expect heavy performance issues.

Regards

Reply
0 Kudos
moneymm
Contributor
Contributor

If one core gets used at a time, then how does it know which core im assigning to which VM?  So basically you would only run 8 VM's b/c there is only 8 cores?

This is dissapointing, a regular pc for what i need can usually run fine on 512 MB of Ram, 40 GB Hard Drive and a 2Ghz old single core processor.  so I figured the configuration I had would be fine for atleast 15 pcs.

Reply
0 Kudos
EdWilts
Expert
Expert

If one core gets used at a time, then how does it know which core im assigning to which VM?  So basically you would only run 8 VM's b/c there is only 8 cores?

This is dissapointing, a regular pc for what i need can usually run fine on 512 MB of Ram, 40 GB Hard Drive and a 2Ghz old single core processor.  so I figured the configuration I had would be fine for atleast 15 pcs.

You don't assign a core to a VM.  You assign the number of cores and the number of sockets.  You can hot a socket but can't hot-add a core, but that doesn't matter if your guests only have a single vCPU.  If you have 8 cores but 16 single-CPU guests, you'll have available host CPU if your guests don't consume CPU more than 50% of their time (although you don't really want your host to hit 100% for long stretches).  If your guests use CPU only 10% of their time, your total host CPU load would only be 20%.

How many VMs you can run depends on the workload.  A "normal" PC is idle for the vast majority of its time.  With modern CPUs, oversubscribing CPUs can be easily done with no performance impact.  I've got a cluster that has a 4:1 vCPU to core ratio and the 6 hosts are running from 7-20% cpu utilization.  Another cluster has a 1.61:1 oversubscription and none of the hosts go over 10% cpu utilization.   I've got another cluster that can easily go CPU-bound and has minimal oversubscription.  Some guests are CPU-heavy, some memory-heavy, and some sit there doing nothing but anti-virus updates/scanning all day long followed by backups.  In some environments you'll find guests that are network-bound or disk-bound.

.../Ed (VCP4, VCP5)
moneymm
Contributor
Contributor

Thanks Ed, that was very helpful.

Do you agree then the best way to set up my VM's is putting 1 core and socket per each VM?

The CPU ranges on each VM currently from 15 to 25 usually, but every 10 seconds or so it spikes as high as 80% for a split second.

Would would be the harm in assinged 8 cores to each VM?  then if a bunch of VM's spike at the same time, it still wont be overloaded, or am i wrong on that assumption?

Reply
0 Kudos
moneymm
Contributor
Contributor

also, I have 8 cores, if i assign 1 core and 1 socket to each VM, how does each VM know which core to use?

Reply
0 Kudos
AKostur
Hot Shot
Hot Shot

The VM neither knows, nor cares which actual core gets used (and it may migrate around all 8 cores, depending on workload of itself and other VMs).  That's the hypervisor's job to figure out.  The VM simply sees that it has a single-core single-cpu, and behaves accordingly.    That CPU will have a variable speed (effectively) based upon the demands of all of the other VMs on the same box.   If none of the other VMs are doing anything, then the VM will perform as if it had an entire CPU to itself (minus virtualization overheads).  If all of the other VMs are busy, then it is going to have to compete for CPU time with the other VMs.

Reply
0 Kudos
moneymm
Contributor
Contributor

Looks like i was being a bit too optimistic hoping to get 16+ VM's on this setup i have. My CPU becomes a problem at around 8 VM's.

I have a 3.1 GHz 8 core processor.  I really thought i could get alot more out of this setup.

Any suggestions on how to get more out of the CPU?

Overclocking?

Reply
0 Kudos
PCookman
Contributor
Contributor

I am currently out of the Office and will be back on Tuesday . If you need me I can be contacted on 07957 168744.

In my absence please contact Alan.Tung@selection.co.uk or David.Cookson@selection.co.uk.

Regards, Paul..

--

This message has been scanned for viruses and

dangerous content by MailScanner,

and is believed to be clean.

Reply
0 Kudos
moneymm
Contributor
Contributor

that was an odd post.

Reply
0 Kudos
weinstein5
Immortal
Immortal

The evils of theout of office replies = 

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
Reply
0 Kudos
AKostur
Hot Shot
Hot Shot

VMware can't invent CPU cycles out of thin air.  It all depends on workload.  As an example, I have 82 VMs on 40 cores (4 x 4 core, 2 x 6 core w/ HT).  CPU time isn't my problem (I'm using about 6 GHz out of the ~73 GHz available), memory is.  But if your VMs are all compute-bound, VMware won't help (on the CPU aspect.  There's a bunch of other reasons to use virtualization.)

Reply
0 Kudos