This monitor tracks threshold breaches for the following metric:
cpuPressure - this metric is the ratio of all powered-on virtual machine vCPU, versus all available host physical CPU cores, expressed as a percentage.
This is a 'Top N' monitor - the top vSphere hosts for CPU overcommit in this cluster will be listed in the alert description.
The monitor is enabled by default. You can override the following parameters:
Name | Default Value | Description |
Threshold | 150 | Specifies a threshold for the 'cpuPressure' metric. If the metric value exceeds the threshold, the monitor will start generating alerts. |
Num Samples | 1 | Specifies a threshold for the number of consequent metric samples. If the threshold is breached, the monitor will change its state. |
Instance Count | 5 | Defines the number of Top N child objects to display in the alert. |
Note: If you have configured several overrides of the same type, select the Enforced check box for an override that should have priority over all other overrides.
This means that the ratio of virtual machine vCPUs versus host physical cores has exceeded the setting 'RecommendedvCPUPerCore' as defined in the Advanced Settings of the Veeam MP UI. The default setting is 10 vCPU per 1 host core. This is expressed in the CPU Pressure metric as a percentage. If the recommended ratio is exceeded, then this metric will be greater than 100%.
CPU Overcommit (as with memory overcommit) may not be a performance problem per se. Depending on the workload demands from VMs, this ratio can be higher with no adverse affects. However the figure of 10 vCPU per host core is a general industry best-practice figure, and exceeding it may impact VM performance as the vSphere CPU Scheduler struggles to allocate all CPU resources for the VM vCPUs.
To lower the cpuPressure value for the whole cluster, it is necessary to migrate VMs to other clusters, or to power off some VMs (as only powered-on VMs are included in the cpuPressure calculation).
Using the Cluster CPU Overcommit dashboard, you can see CPU Pressure history for the cluster, and for all hosts in the cluster.
Drill down further into the Host CPU Ready Analysis dashboard to see VMs with high CPU Ready times. Anything >10% for cpuReady may indicate a performance issue with the vSphere CPU Scheduler.
Use the Alerts View to see all current open issues for this object. Use the Events View to review any error and warning events for this object. Open a Performance View to see the performance metrics for this object and all contained objects. Open a Diagram View to analyze the relationships of this object to other components.
See the Help Center for more information including reference lists of all Rules and Monitors and full set of User Guides for the Veeam MP for VMware.
See the VMware Online Documentation for more information on VMware vSphere, in particular:
Target | Veeam.Virt.Extensions.VMware.VMCCR | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Veeam.Virt.Extensions.VMware.TopNPerformance.ThresholdMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Veeam.Virt.Extensions.VMware.VMCCR.Monitor.Mapped.VMHOST.cpuPressure" Accessibility="Public" Enabled="onEssentialMonitoring" Target="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMCCR" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Veeam.Virt.Extensions.VMware.TopNPerformance.ThresholdMonitorType" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Veeam.Virt.Extensions.VMware.VMCCR.Monitor.Mapped.VMHOST.cpuPressure_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Property[@Name='RollupValue']$</AlertParameter2>
<AlertParameter3>$Data/Context/DataItem/Property[@Name='InstanceCount']$</AlertParameter3>
<AlertParameter4>$Data/Context/DataItem/Property[@Name='RelatedInstances']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ObjectName>VMCluster-cpu</ObjectName>
<CounterName>cpuPressure</CounterName>
<InstanceName>$Data/Property[@Name='clusterName']$</InstanceName>
<Value>$Data/Property[@Name='cpuPressure']$</Value>
<Threshold>150</Threshold>
<FilterExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='entityId']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMCCR"]/id$</Value>
</ValueExpression>
</SimpleExpression>
</FilterExpression>
<ClassName>CLUSTER</ClassName>
<NumSamples>1</NumSamples>
<Direction>greater</Direction>
<instanceCount>5</instanceCount>
<sortOrder>top</sortOrder>
<relatedClass>HostStats</relatedClass>
<relatedMetric>cpuPressure</relatedMetric>
<selectByColumn>clusterId</selectByColumn>
<rollupInstanceName>$Target/Property[Type="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMCCR"]/id$</rollupInstanceName>
<nameColumn>hostName</nameColumn>
<showUnits>true</showUnits>
<units>"%"</units>
</Configuration>
</UnitMonitor>