A performance monitor for the percentage of virtual machine memory used on an application server.
The memory utilized performance monitor tracks the memory utilization of the Java Virtual Machine associated with the application server.
An unhealthy state indicates that the memory utilization has exceeded the monitored threshold configured for the application server.
Start the application server with a larger memory configuration.
Move some deployed applications to another application server.
Target | Microsoft.JEE.ApplicationServer.Monitored.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.JEE.ThresholdUnitMonitor | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.JEE.PerformanceHealth.MemoryUtilizedMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.JEE.ApplicationServer.Monitored.Instance" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.JEE.ThresholdUnitMonitor" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.JEE.PerformanceHealth.MemoryUtilizedMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<!-- The alert description should include key properties of: -->
<!-- * the deep monitored application server -->
<!-- * the performance counter object name -->
<!-- * counter name -->
<!-- * instance name (not used b/c no corresponding value for rule) -->
<AlertParameter1>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Id$</AlertParameter1>
<AlertParameter2>Memory</AlertParameter2>
<AlertParameter3>JVM Percent Heap Memory Used</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Microsoft.JEE.PerformanceHealth.MemoryUtilization.UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="Microsoft.JEE.PerformanceHealth.MemoryUtilization.OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/HostName$</ComputerName>
<Protocol>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Protocol$</Protocol>
<Port>$Target/Property[Type="Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Port$</Port>
<BaseURL/>
<URLSuffix/>
<IntervalSeconds>900</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<MetricName>Stats/Memory/Properties/PercentHeapMemoryUsed</MetricName>
<Threshold>90</Threshold>
</Configuration>
</UnitMonitor>