Back to PerformanceManager

# CPU Counters

Performance counters are modeled using the PerfCounterInfo data object type. Each instance of a PerfCounterInfo data object contains metadata about a specific metric available from the system. The cpu group of performance counters supports metrics for CPU utilization per host, per virtual machine, per resource pool, or per compute resource, as appropriate.

Counter | StatsType | Unit | Level | Per Device Level | RollupType | Label | Entity | Instance/ Aggregate | ESX Versions
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
capacity.contention | rate | percent | 2 | 4 | average | CPU Capacity Contention | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
Percent of time the virtual machine is unable to run because it is contending for access to the physical CPU(s).
capacity.demand | rate | megaHertz | 2 | 4 | average | CPU Capacity Demand | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
The amount of CPU resources a virtual machine would use if there were no CPU contention or CPU limit.
capacity.entitlement | absolute | megaHertz | 1 | 4 | average | CPU Capacity Entitlement | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
CPU resources devoted by the ESX scheduler to the virtual machines and resource pools.
capacity.provisioned | absolute | megaHertz | 3 | 4 | average | CPU Capacity Provisioned |  |  |
Capacity in megaHertz of the physical CPU cores.
capacity.usage | rate | megaHertz | 3 | 4 | average | CPU Capacity Usage | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
CPU usage in megaHertz during the interval.
coreUtilization | rate | percent | 2 (4) | 4 | average (minimum) (maximum) (none) | Core Utilization | HostSystem | instance |
corecount.contention | rate | percent | 1 | 3 | average | CPU Core Count Contention | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
Time the virtual machine is ready to run, but is unable to due to co-scheduling constraints.
corecount.provisioned | absolute | number | 1 | 4 | average | CPU Core Count Provisioned | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
The number of virtual processors or physical cores provisioned to the entity.
corecount.usage | absolute | number | 2 | 4 | average | CPU Core Count Usage |  |  |
The number of virtual processors running on the host.
costop | delta | millisecond | 2 | 3 | summation | Co-stop | VirtualMachine HostSystem | aggregate | 5.0.0
cpuentitlement | absolute | megaHertz | 1 | 3 | latest | Worst case allocation | ResourcePool | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
Amount of CPU resources allocated to the virtual machine or resource pool based on the total cluster capacity and the resource configuration (reservations, shares, and limits) on the resource hierarchy. cpuentitlement is computed based on an ideal scenario in which all virtual machines are completely busy and the load is perfectly balanced across all hosts. This counter is for internal use only and is not useful for performance monitoring.
demand | rate | megaHertz | 2 | 3 | average | Demand | VirtualMachine HostSystem | aggregate | 5.0.0
entitlement | absolute | megaHertz | 2 | 3 | latest | Entitlement | VirtualMachine | aggregate | 5.0.0
extra | delta | millisecond | 4 | 4 | summation | Extra | VirtualMachine | instance | 3.5.0
guaranteed | absolute | millisecond | 4 | 4 | latest | Guaranteed | VirtualMachine | instance | 3.5.0
Not supported for ESX 4.x systems, except through vCenter Server. CPU time that is reserved for the entity. For virtual machines, this measures CPU time that is reserved, per virtual CPU (VCPU). This counter has been deprecated and should not be used to monitor performance.
idle | delta | millisecond | 2 | 3 | summation | Idle | VirtualMachine HostSystem | instance | 3.5.0 4.0.0 4.1.0 5.0.0
Total time that the CPU spent in an idle state (meaning that a virtual machine is not runnable).
latency | absolute | percent | 2 | 3 | average | Latency | VirtualMachine HostSystem | aggregate | 5.0.0
maxlimited | delta | millisecond | 2 | 3 | summation | Max limited | VirtualMachine | instance | 5.0.0
Time the virtual machine is ready to run, but does not run because it has reached its maximum CPU limit setting.
overlap | delta | millisecond | 3 | 3 | summation | Overlap | VirtualMachine | instance | 5.0.0
Time the virtual machine was interrupted to perform system services on behalf of that virtual machine or other virtual machines.
ready | delta | millisecond | 1 | 3 | summation | Ready | VirtualMachine HostSystem | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
Percentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU. CPU ready time is dependent on the number of virtual machines on the host and their CPU loads.
reservedCapacity | absolute | megaHertz | 2 | 3 | average | Reserved capacity | HostSystem | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
Total CPU capacity reserved by the virtual machines.
run | delta | millisecond | 2 | 3 | summation | Run | VirtualMachine | instance | 5.0.0
swapwait | delta | millisecond | 3 | 3 | summation | Swap wait | VirtualMachine HostSystem | aggregate | 4.0.0 4.1.0 5.0.0
Time the virtual machine is waiting for swap page-ins. CPU Swap Wait is included in CPU Wait.
system | delta | millisecond | 3 | 3 | summation | System | VirtualMachine | instance | 3.5.0 4.0.0 4.1.0 5.0.0
Amount of time spent on system processes on each virtual CPU in the virtual machine. This is the host view of the CPU usage, not the guest operating system view.
totalCapacity | absolute | megaHertz | 2 | 3 | average | Total capacity | HostSystem | aggregate | 4.1.0 5.0.0
totalmhz | rate | megaHertz | 1 | 3 | average | Total |  |  |
Total amount of CPU resources of all hosts in the cluster. The maximum value is equal to the frequency of the processors multiplied by the number of cores. totalmhz = CPU frequency x number of cores For example, a cluster has two hosts, each of which has four CPUs that are 3GHz each, and one virtual machine that has two virtual CPUs. VM totalmhz = 2 vCPUs x 3000MHz = 6000MHz Host totalmhz = 4 CPUs x 3000MHz = 12000MHz Cluster totalmhz = 2 x 4 x 3000MHz = 24000MHz
usage | rate | percent | 1 (4) | 4 | average (minimum) (maximum) (none) | Usage | VirtualMachine HostSystem | instance |
CPU usage as a percentage during the interval. VM - Amount of actively used virtual CPU, as a percentage of total available CPU. This is the host's view of the CPU usage, not the guest operating system view. It is the average CPU utilization over all available virtual CPUs in the virtual machine. For example, if a virtual machine with one virtual CPU is running on a host that has four physical CPUs and the CPU usage is 100%, the virtual machine is using one physical CPU completely. virtual CPU usage = usagemhz / (# of virtual CPUs x core frequency) Host - Actively used CPU of the host, as a percentage of the total available CPU. Active CPU is approximately equal to the ratio of the used CPU to the available CPU. available CPU = # of physical CPUs x clock rate 100% represents all CPUs on the host. For example, if a four-CPU host is running a virtual machine with two CPUs, and the usage is 50%, the host is using two CPUs completely. Cluster - Sum of actively used CPU of all virtual machines in the cluster, as a percentage of the total available CPU. CPU Usage = CPU usagemhz / effectivecpu
usagemhz | rate | megaHertz | 1 (4) | 4 | average (minimum) (maximum) (none) | Usage in MHz | VirtualMachine HostSystem ResourcePool | aggregate |
CPU usage, as measured in megahertz, during the interval. VM - Amount of actively used virtual CPU. This is the host's view of the CPU usage, not the guest operating system view. Host - Sum of the actively used CPU of all powered on virtual machines on a host. The maximum possible value is the frequency of the processors multiplied by the number of processors. For example, if you have a host with four 2GHz CPUs running a virtual machine that is using 4000MHz, the host is using two CPUs completely. 4000 / (4 x 2000) = 0.50
used | delta | millisecond | 3 | 3 | summation | Used | VirtualMachine HostSystem | instance | 3.5.0 4.0.0 4.1.0 5.0.0
Time accounted to the virtual machine. If a system service runs on behalf of this virtual machine, the time spent by that service (represented by cpu.system) should be charged to this virtual machine. If not, the time spent (represented by cpu.overlap) should not be charged against this virtual machine.
utilization | rate | percent | 2 (4) | 4 | average (minimum) (maximum) (none) | Utilization | HostSystem | instance |
wait | delta | millisecond | 3 | 3 | summation | Wait | VirtualMachine HostSystem | aggregate | 3.5.0 4.0.0 4.1.0 5.0.0
CPU time spent in wait state. The wait total includes time spent the CPU Idle, CPU Swap Wait, and CPU I/O Wait states.

Back to Top of page
Back to PerformanceManager