VMware Cloud Community
mronsman
Contributor
Contributor
Jump to solution

DRS Resource Distribution Chart

Having a hard time reconciling what it means when VMs are not green on the DRS Resource Distribution Chart for a cluster. According to the attached screen shot the CPU resources overall are not even 50% utilizied yet there are certain VMs that are only getting like 67% Resources Delivered. We are experiencing a tangible slow down on those VMs at times.

If the server has the CPU why isn't it giving it to the VM when it asks? Not real good documentation describing this. I have found this (thank you Frank) but it does not really cover what it means in this situation. If anyone can shed some light on this I would be very appreciative.

http://frankdenneman.nl/2010/03/drs-resource-distribution-chart/

Thanx,

Matt

0 Kudos
1 Solution

Accepted Solutions
ThompsG
Virtuoso
Virtuoso
Jump to solution

Hi,

No contention happens because a VM requires processor in order to run and the host doesn't have any at the time. This may not necessarily translate into a high CPU MHz utilization.

There are many best practices and real world experience that suggest that you should use vSMP VMs sparingly. It is often a recommendation with Citrix servers to only use 1 vCPU and scale them out. You get better overall performance and allows the ESX server to schedule the processor better/easier.

If you are using a lot of 4 vCPUs VMs then everytime one of these needs to run, even if only 1 of vCPUs in the VM is needed, ESX needs to find 4 logical processors that are free. It also try to schedule them across cores, i.e. will try not to schedule on a core and on the HT of that core, if this makes any sense. As you can see with your hosts you quickly run out of free cores for VMs to execute on and therefore get contention.

Kind regards,

Glen

View solution in original post

0 Kudos
5 Replies
ThompsG
Virtuoso
Virtuoso
Jump to solution

Hi,

Looking at the picture, I'm going to make the following assumption that you are running BL490c G6 servers which are dual processors with 4 cores. This means you have a core count of 8 and if you have HT enabled then a total of 16. Correct?

Again looking at the picture you have provided it would be my feeling that you are over committing on cores to the point that it is actually causing contention on some of your guests and they are waiting in a ready state for cores to become available. Can you confirm how many vCPUs you are running in your guests, i.e. mostly 1 vCPU, mostly 2vCPU, etc? Reason I ask this that it appears from the picture that most of your VMs when running are consuming large amounts of processor. If you could also provide the vCPUs allocated per host and also the number of VM's per host.

Don't forget that when looking at the chart the 100% refers to the total CPU of all processors added together - in your case this would mean 16 VMs with 1vCPU running at 100% CPU (ignoring service console usage for the moment). Once you add vSMP though this equation changes and contention can quickly be introduced.

Kind regards,

Glen

mronsman
Contributor
Contributor
Jump to solution

Correct, 16 logical CPUs. The servers in question are running Citrix and have 4 vCPUs. It just seems like if there is going to be contention that graph would show an overall high CPU utilization for the host. But perhaps I am making a bad assumption.

Thanx,

Matt

0 Kudos
ThompsG
Virtuoso
Virtuoso
Jump to solution

Hi,

No contention happens because a VM requires processor in order to run and the host doesn't have any at the time. This may not necessarily translate into a high CPU MHz utilization.

There are many best practices and real world experience that suggest that you should use vSMP VMs sparingly. It is often a recommendation with Citrix servers to only use 1 vCPU and scale them out. You get better overall performance and allows the ESX server to schedule the processor better/easier.

If you are using a lot of 4 vCPUs VMs then everytime one of these needs to run, even if only 1 of vCPUs in the VM is needed, ESX needs to find 4 logical processors that are free. It also try to schedule them across cores, i.e. will try not to schedule on a core and on the HT of that core, if this makes any sense. As you can see with your hosts you quickly run out of free cores for VMs to execute on and therefore get contention.

Kind regards,

Glen

0 Kudos
mronsman
Contributor
Contributor
Jump to solution

Thanks very much Glen. I will have to dig deeper into the performance of these VMs. Perhaps we can get by with just 2 vCPUs.

Thanx,

Matt

0 Kudos
ThompsG
Virtuoso
Virtuoso
Jump to solution

No worries. Happy to help.

Do some benches but you will probably find that 2 vCPU citrix servers actually out perform (or I should say will be more responsive) that a 4 vCPU server. For your information we were going to make all our Citrix servers 1 vCPU however if you have a process that takes 100% of the CPU everybody else on the server will be effected so hence we use 2 vCPU.

Have a great day,

Glen

0 Kudos