Memoria consumida por la instancia de SSRS

Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageByInstance (UnitMonitor)

El monitor alerta si el uso de la memoria por el proceso de SSRS se acerca al límite definido por el ajuste WorkingSetMaximum.

Knowledge Base article:

Resumen

El monitor alerta si el uso de la memoria por el proceso de SSRS se acerca al límite definido por el ajuste WorkingSetMaximum.

Causas

Reporting Services pueden consumir mucha memoria por varios motivos, algunos de los cuales son los siguientes:

Soluciones

En el siguiente artículo se habla acerca de la configuración de memoria para Reporting Services: http://technet.microsoft.com/es-es/library/ms159206.aspx

Configurar las propiedades del servidor en Reporting Services: Configurar las propiedades del servidor

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

 

1

Genera alertas

 

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

900

Umbral de advertencia

El monitor cambiará su estado a advertencia si el valor observado se encuentra entre los umbrales de advertencia y crítico.

80

Hora de sincronización

 

 

Umbral crítico

El monitor cambiará su estado a crítico si el valor observado supera el umbral crítico.

90

Element properties:

TargetMicrosoft.SQLServer.2014.ReportingServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageByInstance
RemotableTrue
AccessibilityPublic
Alert Message
SSRS 2014: el uso de la memoria está alcanzando el límite
La memoria usada por SSRS ({3} GB) ha superado el umbral.
WorkingSetMaximum: {2} GB
WorkingSetMinimum: {1} GB.
Memoria total en el servidor: {0} GB
RunAsDefault

Source Code:

<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>