VMware Cloud Community
infusednz
Enthusiast
Enthusiast

Understanding how cores work

Hi guys,

Can you please tell me if my understanding if cores are correct.

We have two IBM x3650's connected in a cluster with san. These two servers have two sockets with a 2GHz, 6 core cpu. With Hyperthreading, his gives us (in theory) 24 vcpus, correct?

Lets say I have 20 VMs on this host. A new VM I provision has 4vcpus assigned (windows 2012). This now uses all available vcpus. What happens when I over commit cpu resources, is there a large hit? What's best practice here?

Also, under performance, it looks like each core can get 2ghz worth of resources. In the performance tab of vCenter, I can see 20GHz worth of resource available for cpu. How is this calculated.

I'm asking these questions as we seem to have a cpu bottleneck on one of the servers, adding more vcpus doesn't seem to make much difference. At the moment, the host is not over subscribed cpu wise, and the performance monitor says plenty of resource available. So I'm having a hard to figuring out what I need to do.

Thanks guys.

0 Kudos
3 Replies
weinstein5
Immortal
Immortal

When a vm operating system submits and instruction to be executed the vmkernel will schedule this instruction on a core or hyperthread - the vmkernel's scheduling ability is what allows an ESXi host to have 8-10 vCPUs per core/hyperthread.

Since a vCPU can only run in a single core/hyperthread a vCPU will only show the 2 GHz -

The way you describe your environment it does not sound like an issue with the environment - what is the application/OS you are running

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
0 Kudos
infusednz
Enthusiast
Enthusiast

This particular issue is a Server 2012 Terminal Server with around 15-25 users. Currently has 3vcpu and 12gb of memory.

CPUs are getting hammered, adding the 3rd one didn't seem to make much difference.

0 Kudos
admin
Immortal
Immortal

In regards to a multi-core processor: Is a triple core processor (for example) essentially like having 3 processors of a given clock speed (in my case, 3.2 GHz), or is it more like splitting a workload between 3 people (as an analogy), thus taking only a third of the time/effort? This is something I've never been able to find out for sure.

It is both as you described. Three cores are similar to having three processors, and the three cores will share the load and get things done faster.

Now as far as applications being able to take advantage of the cores so that the work can be split between them that depends on the application.

Most new applications, games, phot software, video software can take advantage of all the cores and when they do yes indeed things get done much faster.

For simple things like web browsing and such you won't see much of difference. When you start to open many applications the difference is noticeable as threads and processes can be handled and split among the cores just like a few people can do more things at once then one person can..

Bruce said it pretty well. For an application that only utilizes one thread(core/processor), a higher clock speed(Ghz) processor will do it quicker, but when/if said app can utilize all the cores(multiple processors), the same project/task will be done much quicker, even if the cores run at a lower clock speed.

0 Kudos