An administrator is troubleshooting a CPU performance issue for a virtual machine.
Which three esxtop counters may demonstrate CPU contention? (Choose three.)
A. %RDY
B. %RUN
C. %MLMTD
D. %WAIT
E. %CSTP
Correct Answer: ACE
Explanation/Reference:
Explanation:
"%RDY"
The percentage of time the world was ready to run.
A world in a run queue is waiting for CPU scheduler to let it run on a PCPU. %RDY accounts the percentage of this time. So, it is always smaller than 100%.
+Q: How do I know CPU resource is under contention?+
+A: %RDY is a main indicator. But, it is not sufficient by itself.+
+If a "CPU Limit" is set to a VM’s resource settings, the VM will be deliberately held from scheduled to a PCPU when it uses up its allocated CPU resource. This may happen even when there is plenty of free CPU cycles. This time deliberately held by scheduler is shown by "%MLMTD", which will be describe next. Note that %RDY includes %MLMTD. For, for CPU contention, we will use "%RDY – %MLMTD". So, if "%RDY – %MLMTD" is high, e.g., larger than 20%, you may experience CPU contention.+
+What is the recommended threshold? Well, it depends. As a try, we could start with 20%. If your application speed in the VM is OK, you may tolerate higher threshold. Otherwise, lower.+
+Q: How do we break down 100% for the world state times?+
+A: A world can be in different states, either scheduled to run, ready to run but not scheduled, or not ready to run (waiting for some events).+
100% = %RUN + %READY + %CSTP + %WAIT.
+Check the description of %CSTP and %WAIT below.+
+Q: What does it mean if %RDY of a VM is high?+
+A: It means the VM is possibly under resource contention. Check "%MLMTD" as well. If "%MLMTD" is high, you may raise the "CPU limit" setting for the VM. If "%
RDY – %MLMTD" is high, the VM is under CPU contention.+
"%MLMTD"
The percentage of time the world was ready to run but deliberately wasn’t scheduled because that would violate the "CPU limit" settings.
Note that %MLMTD is included in %RDY.
+Q: What does it mean if %MLMTD of a VM is high?+
+A: The VM cannot run because of the "CPU limit" setting. If you want to improve the performance of this VM, you may increase its limit. However, keep in mind that it may reduce the performance of others.+
"%CSTP"
The percentage of time the world spent in ready, co-deschedule state. This co-deschedule state is only meaningful for SMP VMs. Roughly speaking, ESX CPU scheduler deliberately puts a VCPU in this state, if this VCPU advances much farther than other VCPUs.
+Q: What does it mean if %CSTP is high?+
+A: It usually means the VM workload does not use VCPUs in a balanced fashion. The VCPU with high %CSTP is used much more often than the others. Do you really need all those VCPUs? Do you pin the guest application to the VCPUs?+ Reference: https://communities.vmware.com/docs/DOC-9279
Explanation/Reference:
Explanation:
"%RDY"
The percentage of time the world was ready to run.
A world in a run queue is waiting for CPU scheduler to let it run on a PCPU. %RDY accounts the percentage of this time. So, it is always smaller than 100%.
+Q: How do I know CPU resource is under contention?+
+A: %RDY is a main indicator. But, it is not sufficient by itself.+
+If a "CPU Limit" is set to a VM’s resource settings, the VM will be deliberately held from scheduled to a PCPU when it uses up its allocated CPU resource. This may happen even when there is plenty of free CPU cycles. This time deliberately held by scheduler is shown by "%MLMTD", which will be describe next. Note that %RDY includes %MLMTD. For, for CPU contention, we will use "%RDY – %MLMTD". So, if "%RDY – %MLMTD" is high, e.g., larger than 20%, you may experience CPU contention.+
+What is the recommended threshold? Well, it depends. As a try, we could start with 20%. If your application speed in the VM is OK, you may tolerate higher threshold. Otherwise, lower.+
+Q: How do we break down 100% for the world state times?+
+A: A world can be in different states, either scheduled to run, ready to run but not scheduled, or not ready to run (waiting for some events).+
100% = %RUN + %READY + %CSTP + %WAIT.
+Check the description of %CSTP and %WAIT below.+
+Q: What does it mean if %RDY of a VM is high?+
+A: It means the VM is possibly under resource contention. Check "%MLMTD" as well. If "%MLMTD" is high, you may raise the "CPU limit" setting for the VM. If "%
RDY – %MLMTD" is high, the VM is under CPU contention.+
"%MLMTD"
The percentage of time the world was ready to run but deliberately wasn’t scheduled because that would violate the "CPU limit" settings.
Note that %MLMTD is included in %RDY.
+Q: What does it mean if %MLMTD of a VM is high?+
+A: The VM cannot run because of the "CPU limit" setting. If you want to improve the performance of this VM, you may increase its limit. However, keep in mind that it may reduce the performance of others.+
"%CSTP"
The percentage of time the world spent in ready, co-deschedule state. This co-deschedule state is only meaningful for SMP VMs. Roughly speaking, ESX CPU scheduler deliberately puts a VCPU in this state, if this VCPU advances much farther than other VCPUs.
+Q: What does it mean if %CSTP is high?+
+A: It usually means the VM workload does not use VCPUs in a balanced fashion. The VCPU with high %CSTP is used much more often than the others. Do you really need all those VCPUs? Do you pin the guest application to the VCPUs?+ Reference: https://communities.vmware.com/docs/DOC-9279