Performance history for servers
This sub-topic of Performance history for Storage Spaces Direct describes in detail the performance history collected for servers. Performance history is available for every server in the cluster.
Note
Performance history cannot be collected for a server that is down. Collection will resume automatically when the server comes back up.
Series names and units
These series are collected for every eligible server:
Series | Unit |
---|---|
clusternode.cpu.usage |
percent |
clusternode.cpu.usage.guest |
percent |
clusternode.cpu.usage.host |
percent |
clusternode.memory.total |
bytes |
clusternode.memory.available |
bytes |
clusternode.memory.usage |
bytes |
clusternode.memory.usage.guest |
bytes |
clusternode.memory.usage.host |
bytes |
In addition, drive series such as physicaldisk.size.total
are aggregated for all eligible drives attached to the server, and network adapter series such as networkadapter.bytes.total
are aggregated for all eligible network adapters attached to the server.
How to interpret
Series | How to interpret |
---|---|
clusternode.cpu.usage |
Percentage of processor time that is not idle. |
clusternode.cpu.usage.guest |
Percentage of processor time used for guest (virtual machine) demand. |
clusternode.cpu.usage.host |
Percentage of processor time used for host demand. |
clusternode.memory.total |
The total physical memory of the server. |
clusternode.memory.available |
The available memory of the server. |
clusternode.memory.usage |
The allocated (not available) memory of the server. |
clusternode.memory.usage.guest |
The memory allocated to guest (virtual machine) demand. |
clusternode.memory.usage.host |
The memory allocated to host demand. |
Where they come from
The cpu.*
series are collected from different performance counters depending on whether or not Hyper-V is enabled.
If Hyper-V is enabled:
Series | Source counter |
---|---|
clusternode.cpu.usage |
Hyper-V Hypervisor Logical Processor > _Total > % Total Run Time |
clusternode.cpu.usage.guest |
Hyper-V Hypervisor Virtual Processor > _Total > % Total Run Time |
clusternode.cpu.usage.host |
Hyper-V Hypervisor Root Virtual Processor > _Total > % Total Run Time |
Using the % Total Run Time
counters ensures that performance history attributes all usage.
If Hyper-V is NOT enabled:
Series | Source counter |
---|---|
clusternode.cpu.usage |
Processor > _Total > % Processor Time |
clusternode.cpu.usage.guest |
zero |
clusternode.cpu.usage.host |
same as total usage |
Notwithstanding imperfect synchronization, clusternode.cpu.usage
is always clusternode.cpu.usage.host
plus clusternode.cpu.usage.guest
.
With the same caveat, clusternode.cpu.usage.guest
is always the sum of vm.cpu.usage
for all virtual machines on the host server.
The memory.*
series are (COMING SOON).
Note
Counters are measured over the entire interval, not sampled. For example, if the server is idle for 9 seconds but spikes to 100% CPU in the 10th second, its clusternode.cpu.usage
will be recorded as 10% on average during this 10-second interval. This ensures its performance history captures all activity and is robust to noise.
Usage in PowerShell
Use the Get-ClusterNode cmdlet:
Get-ClusterNode <Name> | Get-ClusterPerf