This monitor produces an alert if the amount of memory consumed by the SSRS process approaches the limit specified in the 'WorkingSetMaximum' setting.
This monitor produces an alert if the amount of memory consumed by the SSRS process approaches the limit specified in the 'WorkingSetMaximum' setting.
Reporting services can consume lots of memory for a variety of reasons. Some of them are as follows:
High load – too many on-demand/subscriptions requests are served by the report server
Complex reports and reports that display lots of data are requested
Configure Available Memory for Report Server Applications
Configure a Report Server (Reporting Services Native Mode)
Name | Description | Default Value |
Enabled | Enables or disables the workflow. | Yes |
Generates Alerts | Defines whether the workflow generates an Alert. | Yes |
Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. | 900 |
Warning threshold | The monitor will change its state to warning if the observed value is between warning and critical thresholds. | 80 |
Synchronization Time | The synchronization time specified by using a 24-hour format. May be omitted. |
|
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 300 |
Critical threshold | The monitor will change its state to critical if the observed value exceeds the critical threshold. | 90 |
Target | Microsoft.SQLServer.ReportingServices.Windows.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.ReportingServices.Windows.MonitorType.Instance.MemoryUsageByInstance | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.MemoryUsageByInstance" Accessibility="Public" Enabled="true" Target="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.ReportingServices.Windows.MonitorType.Instance.MemoryUsageByInstance" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.MemoryUsageByInstance.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='WorkingSetMinimumGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='WorkingSetMaximumGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Above" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Between" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Below" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Property[Type="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance"]/ServiceName$</ServiceName>
<ConfigurationFile>$Target/Property[Type="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance"]/ConfigurationFile$</ConfigurationFile>
<InstanceVersion>$Target/Property[Type="RsCore!Microsoft.SQLServer.ReportingServices.Core.Instance"]/Version$</InstanceVersion>
<LowerThreshold>80</LowerThreshold>
<UpperThreshold>90</UpperThreshold>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>