VirtualCenter Performance Counters

Version 8

    Introduction

    The following table of VirtualCenter (VC) performance counters lists the counters with a description of their purpose.  We're still building out this page so if you want to see detail on a particular counter just post a message at the bottom of this article.  I'll update the article, as needed.

     

    Remember, statistic levels one and two are the only ones needed for 99% of the performance monitoring and analysis out there.  Don't spend many of your own cycles worrying about levels three and four!

     

    For information on enabling VC to display and archive these counters see the Understanding VirtualCenter Performance Statistics article.

     

    CPU Statistics

    Level

    Counter name in API

    Description

    units

    1

    cpu.usagemhz.average

    The CPU utilization.  The maximum possible value here is the frequency of the processors times the number of cores.  As an example, a VM using 4000 MHz  on a system with four 2 GHz processors is using 50% of the CPU (4000 / (4 * 2000) = 0.5)

    megaHertz

    1

    cpu.usage.average

    The CPU utilization.  This value is reported with 100% representing all processor cores on the system.  As an example, a 2-way VM using 50% of a four-core system is completely using two cores.

    percent

    2

    cpu.reservedCapacity.average

    CPU Reserved Capacity

    megaHertz

    2

    cpu.idle.summation

    CPU Idle

    millisecond

    3

    cpu.system.summation

    System time is the time spent in VMkernel during the last update interval.  This does not include guest code execution.

    millisecond

    3

    cpu.wait.summation

    Wait time is the time spent waiting for hardware or VMkernel lock thread locks during the last update interval.

    millisecond

    3

    cpu.ready.summation

    Ready time is the time spend waiting for CPU(s) to become available in the past update interval.

    millisecond

    3

    cpu.extra.summation

    CPU extra is the time above the statically calculated entitlement. Entitlement is the share of processing time that a VM should get as a result of its vCPU count and assigned shares. You should not use or care about this counter in any of your own analysis.

    millisecond

    3

    cpu.used.summation

    CPU Used

    millisecond

    3

    cpu.guaranteed.latest

    Guaranteed time is reported as the amount of the reservation time that the VM used in the past update interval.  As an example, if 2000 MHz have been reserved for the VM on an four-way, 2 GHz host, that's 25% of the CPU resource.  In a 20s update interval, there are 80,000 ms available on this four-way system.  That means 20,000 ms of time has been reserved.  If a VM used only half of its available cycles, the guaranteed time is 10,000 ms.

    millisecond

    4

    cpu.usage.none

    CPU Usage (None)

    percent

    4

    cpu.usage.minimum

    CPU Usage (Minimum)

    percent

    4

    cpu.usage.maximum

    CPU Usage (Maximum)

    percent

    4

    cpu.usagemhz.none

    CPU Usage in MHz (None)

    megaHertz

    4

    cpu.usagemhz.minimum

    CPU Usage in MHz (Minimum)

    megaHertz

    4

    cpu.usagemhz.maximum

    CPU Usage in MHz (Maximum)

    megaHertz

     

    Memory Statistics

    Level

    Counter name in API

    Description

    units

    1

    mem.usage.average

    Memory Usage (Average)

    percent

    2

    mem.granted.average

    Memory Granted (Average)

    kiloBytes

    2

    mem.active.average

    Memory Active (Average)

    kiloBytes

    2

    mem.shared.average

    The average amount of shared memory.  Shared memory represents the entire pool of memory from which sharing savings are possible.  The amount of memory that this has been condensed to is reported in shared common memory.  So, total saving due to memory sharing equals shared memory minus shared common memory.

    kiloBytes

    2

    mem.zero.average

    Memory Zero (Average)

    kiloBytes

    2

    mem.unreserved.average

    Memory Unreserved (Average)

    kiloBytes

    2

    mem.swapused.average

    Memory Swap Used (Average)

    kiloBytes

    2

    mem.swapunreserved.average

    Memory Swap Unreserved (Average)

    kiloBytes

    2

    mem.sharedcommon.average

    The average amount of shared common memory.  Shared memory represents the entire pool of memory from which sharing savings are possible.  The amount of memory that this has been condensed to is reported in shared common memory.  So, total saving due to memory sharing equals shared memory minus shared common memory.

    kiloBytes

    2

    mem.heap.average

    Memory Heap (Average)

    kiloBytes

    2

    mem.heapfree.average

    Memory Heap Free (Average)

    kiloBytes

    2

    mem.state.latest

    Memory State

    number

    2

    mem.swapped.average

    Memory Swapped (Average)

    kiloBytes

    2

    mem.swaptarget.average

    Memory Swap Target (Average)

    kiloBytes

    2

    mem.swapin.average

    Memory Swap In (Average)

    kiloBytes

    2

    mem.swapout.average

    Memory Swap Out (Average)

    kiloBytes

    2

    mem.vmmemctl.average

    Memory Balloon (Average)

    kiloBytes

    2

    mem.vmmemctltarget.average

    Memory Balloon Target (Average)

    kiloBytes

    2

    mem.overhead.average

    Memory Overhead (Average)

    kiloBytes

    2

    mem.consumed.average

    Memory Consumed (Average)

    kiloBytes

    2

    mem.sysUsage.average

    Memory Used by vmkernel

    kiloBytes

    2

    mem.reservedCapacity.average

    Memory Reserved Capacity

    megaBytes

    4

    mem.usage.none

    Memory Usage (None)

    percent

    4

    mem.usage.minimum

    Memory Usage (Minimum)

    percent

    4

    mem.usage.maximum

    Memory Usage (Maximum)

    percent

    4

    mem.granted.none

    Memory Granted (None)

    kiloBytes

    4

    mem.granted.minimum

    Memory Granted (Minimum)

    kiloBytes

    4

    mem.granted.maximum

    Memory Granted (Maximum)

    kiloBytes

    4

    mem.active.none

    Memory Active (None)

    kiloBytes

    4

    mem.active.minimum

    Memory Active (Minimum)

    kiloBytes

    4

    mem.active.maximum

    Memory Active (Maximum)

    kiloBytes

    4

    mem.shared.none

    Memory Shared (None)

    kiloBytes

    4

    mem.shared.minimum

    Memory Shared (Minimum)

    kiloBytes

    4

    mem.shared.maximum

    Memory Shared (Maximum)

    kiloBytes

    4

    mem.zero.none

    Memory Zero (None)

    kiloBytes

    4

    mem.zero.minimum

    Memory Zero (Minimum)

    kiloBytes

    4

    mem.zero.maximum

    Memory Zero (Maximum)

    kiloBytes

    4

    mem.unreserved.none

    Memory Unreserved (None)

    kiloBytes

    4

    mem.unreserved.minimum

    Memory Unreserved (Minimum)

    kiloBytes

    4

    mem.unreserved.maximum

    Memory Unreserved (Maximum)

    kiloBytes

    4

    mem.swapused.none

    Memory Swap Used (None)

    kiloBytes

    4

    mem.swapused.minimum

    Memory Swap Used (Minimum)

    kiloBytes

    4

    mem.swapused.maximum

    Memory Swap Used (Maximum)

    kiloBytes

    4

    mem.swapunreserved.none

    Memory Swap Unreserved (None)

    kiloBytes

    4

    mem.swapunreserved.minimum

    Memory Swap Unreserved (Minimum)

    kiloBytes

    4

    mem.swapunreserved.maximum

    Memory Swap Unreserved (Maximum)

    kiloBytes

    4

    mem.sharedcommon.none

    Memory Shared Common (None)

    kiloBytes

    4

    mem.sharedcommon.minimum

    Memory Shared Common (Minimum)

    kiloBytes

    4

    mem.sharedcommon.maximum

    Memory Shared Common (Maximum)

    kiloBytes

    4

    mem.heap.none

    Memory Heap (None)

    kiloBytes

    4

    mem.heap.minimum

    Memory Heap (Minimum)

    kiloBytes

    4

    mem.heap.maximum

    Memory Heap (Maximum)

    kiloBytes

    4

    mem.heapfree.none

    Memory Heap Free (None)

    kiloBytes

    4

    mem.heapfree.minimum

    Memory Heap Free (Minimum)

    kiloBytes

    4

    mem.heapfree.maximum

    Memory Heap Free (Maximum)

    kiloBytes

    4

    mem.swapped.none

    Memory Swapped (None)

    kiloBytes

    4

    mem.swapped.minimum

    Memory Swapped (Minimum)

    kiloBytes

    4

    mem.swapped.maximum

    Memory Swapped (Maximum)

    kiloBytes

    4

    mem.swaptarget.none

    Memory Swap Target (None)

    kiloBytes

    4

    mem.swaptarget.minimum

    Memory Swap Target (Minimum)

    kiloBytes

    4

    mem.swaptarget.maximum

    Memory Swap Target (Maximum)

    kiloBytes

    4

    mem.swapin.none

    Memory Swap In (None)

    kiloBytes

    4

    mem.swapin.minimum

    Memory Swap In (Minimum)

    kiloBytes

    4

    mem.swapin.maximum

    Memory Swap In (Maximum)

    kiloBytes

    4

    mem.swapout.none

    Memory Swap Out (None)

    kiloBytes

    4

    mem.swapout.minimum

    Memory Swap Out (Minimum)

    kiloBytes

    4

    mem.swapout.maximum

    Memory Swap Out (Maximum)

    kiloBytes

    4

    mem.vmmemctl.none

    Memory Balloon (None)

    kiloBytes

    4

    mem.vmmemctl.minimum

    Memory Balloon (Minimum)

    kiloBytes

    4

    mem.vmmemctl.maximum

    Memory Balloon (Maximum)

    kiloBytes

    4

    mem.vmmemctltarget.none

    Memory Balloon Target (None)

    kiloBytes

    4

    mem.vmmemctltarget.minimum

    Memory Balloon Target (Minimum)

    kiloBytes

    4

    mem.vmmemctltarget.maximum

    Memory Balloon Target (Maximum)

    kiloBytes

    4

    mem.overhead.none

    Memory Overhead (None)

    kiloBytes

    4

    mem.overhead.minimum

    Memory Overhead (Minimum)

    kiloBytes

    4

    mem.overhead.maximum

    Memory Overhead (Maximum)

    kiloBytes

    4

    mem.consumed.none

    Memory Consumed (None)

    kiloBytes

    4

    mem.consumed.maximum

    Memory Consumed (Maximum)

    kiloBytes

    4

    mem.consumed.minimum

    Memory Consumed (Minimum)

    kiloBytes

    4

    mem.sysUsage.none

    Memory Used by vmkernel

    kiloBytes

    4

    mem.sysUsage.maximum

    Memory Used by vmkernel

    kiloBytes

    4

    mem.sysUsage.minimum

    Memory Used by vmkernel

    kiloBytes

     

    Disk Statistics

    Level

    Counter name in API

    Description

    units

    1

    disk.usage.average

    Disk Usage (Average)

    kiloBytesPerSecond

    2

    disk.commands.summation

    Disk Commands Issued

    number

    2

    disk.commandsAborted.summation

    Disk Command Aborts

    number

    2

    disk.busResets.summation

    Disk Bus Resets

    number

    2

    disk.deviceReadLatency.average

    Physical Device Read Latency

    millisecond

    2

    disk.kernelReadLatency.average

    Kernel Disk Read Latency

    millisecond

    2

    disk.totalReadLatency.average

    Disk Read Latency

    millisecond

    2

    disk.queueReadLatency.average

    Queue Read Latency

    millisecond

    2

    disk.deviceWriteLatency.average

    Physical Device Write Latency

    millisecond

    2

    disk.kernelWriteLatency.average

    Kernel Disk Write Latency

    millisecond

    2

    disk.totalWriteLatency.average

    Disk Write Latency

    millisecond

    2

    disk.queueWriteLatency.average

    Queue Write Latency

    millisecond

    2

    disk.deviceLatency.average

    Physical Device Command Latency

    millisecond

    2

    disk.kernelLatency.average

    Kernel Disk Command Latency

    millisecond

    2

    disk.totalLatency.average

    Disk Command Latency

    millisecond

    2

    disk.queueLatency.average

    Queue Command Latency

    millisecond

    3

    disk.numberRead.summation

    Disk Read Requests

    number

    3

    disk.numberWrite.summation

    Disk Write Requests

    number

    3

    disk.read.average

    Disk Read Rate

    kiloBytesPerSecond

    3

    disk.write.average

    Disk Write Rate

    kiloBytesPerSecond

    4

    disk.usage.none

    Disk Usage (None)

    kiloBytesPerSecond

    4

    disk.usage.minimum

    Disk Usage (Minimum)

    kiloBytesPerSecond

    4

    disk.usage.maximum

    Disk Usage (Maximum)

    kiloBytesPerSecond

     

    Network Statistics

    Level

    Counter name in API

    Description

    units

    1

    net.usage.average

    Network Usage (Average)

    kiloBytesPerSecond

    3

    net.packetsRx.summation

    Network Packets Received

    number

    3

    net.packetsTx.summation

    Network Packets Transmitted

    number

    3

    net.received.average

    Network Data Receive Rate

    kiloBytesPerSecond

    3

    net.transmitted.average

    Network Data Transmit Rate

    kiloBytesPerSecond

    4

    net.usage.none

    Network Usage (None)

    kiloBytesPerSecond

    4

    net.usage.minimum

    Network Usage (Minimum)

    kiloBytesPerSecond

    4

    net.usage.maximum

    Network Usage (Maximum)

    kiloBytesPerSecond

     

    Other Statistics

    Level

    Counter name in API

    Description

    units

    1

    sys.uptime.latest

    Uptime

    second

    1

    sys.heartbeat.summation

    Heartbeat

    number

    1

    clusterServices.cpufairness.latest

    CPU Fairness

    number

    1

    clusterServices.memfairness.latest

    Memory Fairness

    number

    1

    clusterServices.effectivecpu.average

    Effective CPU Resources

    megaHertz

    1

    clusterServices.effectivemem.average

    Effective Memory Resources

    megaBytes

    1

    clusterServices.failover.latest

    Current failover level

    number

    3

    license.vdiVmAvail.latest

    Available VDI (per VM) virtual machine licenses

    number

    3

    license.vdiVmExcess.latest

    Excess VDI (per VM) virtual machine licenses

    number

    3

    sys.resourceCpuUsage.average

    Resource CPU Usage (Average)

    megaHertz

    3

    managementAgent.memUsed.average

    Memory Used (Average)

    kiloBytes

    3

    managementAgent.swapUsed.average

    Memory Swap Used (Average)

    kiloBytes

    3

    managementAgent.swapIn.average

    Memory Swap In (Average)

    kiloBytesPerSecond

    3

    managementAgent.swapOut.average

    Memory Swap Out (Average)

    kiloBytesPerSecond

    3

    rescpu.actav1.latest

    CPU Active (1 min. average)

    percent

    3

    rescpu.actpk1.latest

    CPU Active (1 min. peak)

    percent

    3

    rescpu.runav1.latest

    CPU Running (1 min. average)

    percent

    3

    rescpu.actav5.latest

    CPU Active (5 min. average)

    percent

    3

    rescpu.actpk5.latest

    CPU Active (5 min. peak)

    percent

    3

    rescpu.runav5.latest

    CPU Running (5 min. average)

    percent

    3

    rescpu.actav15.latest

    CPU Active (15 min. average)

    percent

    3

    rescpu.actpk15.latest

    CPU Active (15 min. peak)

    percent

    3

    rescpu.runav15.latest

    CPU Running (15 min. average)

    percent

    3

    rescpu.runpk1.latest

    CPU Running (1 min. peak)

    percent

    3

    rescpu.maxLimited1.latest

    CPU Throttled (1 min. average)

    percent

    3

    rescpu.runpk5.latest

    CPU Running (5 min. peak)

    percent

    3

    rescpu.maxLimited5.latest

    CPU Throttled (5 min. average)

    percent

    3

    rescpu.runpk15.latest

    CPU Running (15 min. peak)

    percent

    3

    rescpu.maxLimited15.latest

    CPU Throttled (15 min. average)

    percent

    3

    rescpu.sampleCount.latest

    Group CPU Sample Count

    number

    3

    rescpu.samplePeriod.latest

    Group CPU Sample Period

    millisecond

    4

    sys.resourceCpuUsage.none

    Resource CPU Usage (None)

    megaHertz

    4

    sys.resourceCpuUsage.maximum

    Resource CPU Usage (Maximum)

    megaHertz

    4

    sys.resourceCpuUsage.minimum

    Resource CPU Usage (Minimum)

    megaHertz