This status shows the amount of actively used CPU as a percent of total available virtual CPU in the virtual machine running VMware applications and databases.
VM CPU Usage is determined with this formula:
- VM CPU Usage = VM CPU Usage in MHz / (# of virtual CPUs x core frequency in MHz)
A fully utilized host will show a value of 100%. Lower percentages indicate less CPU resource utilization.
Note: This calculation is only for the VMware host's view. There is a difference between that of the guest OS view and the host view. The values will be different.
High VM CPU Usage in virtual environments is not necessarily a problem, unless a high VM CPU Ready Time occurs concurrently. When VM CPU Usage is high, it is always a good idea to check VM Ready Time, as the two combined usually create performance issues.In this case, you will find one of two states:
- High Ready Time Levels
This state indicates under-allocated CPU resources for the virtual machine. This indicates that the host has under-allocated CPU resources to the VM.
- Normal Ready Time Levels
This may indicate a saturated VM CPU, in which the applications and O/S running on a VM use the entire amount of CPU resources provided by the host. It does not, however, always mean that there will be associated performance issues.
If, however, a problem is found to exist when guest CPU saturation is occurring, there are two typical approaches to mitigating the situation:
- Increase the CPU resource provided to the VM by:
- Adding vCPUs to the virtual machine, if the maximum allowable number has not already been met. This is often the easiest choice for virtual environments.This approach will, however,fail to detect any inefficient behavior in guest applications and OSes. In the worst case, it may be indicate a more severe condition within the guest OS.
- Migrating the VM from slower processor host to those with more powerful processers. You must be aware, however, that not all applications will receive the same level of performance benefit from the new hardware features. Each case is different.
- If the VMware application permits, add additional VMs that are running the same application. This will balance the workload over all of the virtual machines.VMs may or may not be able to be added to the same host. Each application will, again, have different requirements.
- Increase the efficiency of CPU resources
- Tune applications using the most CPU resources to use less. Using the Unix/Linux top program, Windows Task Manager, or equivalent, determine what applications are using the most CPU resources and tune them to be more efficient.
Confio IgniteVM helps identify the impact of CPU usage for sites running Oracle on VMware, SQL Server on VMware, and other virtual databases. IgniteVM helps DBAs maintain performance and availability on virtual servers. IgniteVM is the only virtualization-aware database monitoring solution.
Learn more about IgniteVM solutions for: