The monitor alerts if the memory usage by the SSRS process is close to the limit defined by WorkingSetMaximum setting.
The monitor alerts if the memory usage by the SSRS process is close to the limit defined by WorkingSetMaximum setting.
Reporting services can consume lots of memory for variety of reasons, some of them being
High load – Too many on-demand/subscriptions requests being served by report server
Complex reports and reports that display lots of data, being requested
Following article talks about the memory configuration for reporting services - http://technet.microsoft.com/en-us/library/ms159206.aspx
Configure Server Properties in Reporting Services: Configure Server Properties
Name | Description | Default Value |
Enabled |
| 1 |
Generates Alerts |
| 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 |
|
|
Critical threshold | The monitor will change its state to critical if the observed value exceeds the critical threshold. | 90 |
Target | Microsoft.SQLServer.2014.ReportingServices.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.2014.ReportingServices.MonitorType.Instance.MemoryUsageByInstance | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageByInstance" Accessibility="Public" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2014.ReportingServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageByInstance" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.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>
<LowerThreshold>80</LowerThreshold>
<UpperThreshold>90</UpperThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>