El monitor alerta si la memoria consumida por procesos distintos de SSRS no permite a SSRS asignar la cantidad de memoria prescrita por el ajuste WorkingSetMinimum. El monitor usa la siguiente fórmula para determinar el estado:
({WorkingSetMinimum} + {Memoria consumida por otros})*100/{Memoria total} < {Umbral (\%)}
El monitor alerta si la memoria consumida por procesos distintos de SSRS no permite a SSRS asignar la cantidad de memoria prescrita por el ajuste WorkingSetMinimum. El monitor usa la siguiente fórmula para determinar el estado:
({WorkingSetMinimum} + {Memoria consumida por otros})*100/{Memoria total} < {Umbral (%)}
Reporting Services puede requerir mucha memoria por varios motivos, algunos de los cuales son los siguientes:
Carga alta: el servidor de informes atiende muchas solicitudes de suscripciones o a petición
Se solicitan informes e informes complejos que muestran muchos datos
Pueden producirse condiciones de presión de memoria si hay otras aplicaciones de consumo de memoria en ejecución en el mismo servidor.
Puede considerar agregar más memoria al servidor o quitar otras aplicaciones del servidor.
El siguiente artículo le proporciona la información correspondiente sobre la configuración de memoria para los servicios de informes:
Configurar la memoria disponible para las aplicaciones del servidor de informes
Configurar las propiedades de servidor en Reporting Services: Configurar las propiedades de servidor
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo | Sí |
Genera alertas | Define si el flujo de trabajo genera una alerta | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 900 |
Número de ejemplos | El estado de mantenimiento cambia si el número de infracciones de umbral es mayor o igual que el número mínimo de infracciones. | 4 |
Hora de sincronización | Hora de sincronización especificada en un formato de 24 horas. Se puede omitir. |
|
Umbral | El monitor alerta si la suma de la memoria consumida por procesos distintos de SSRS y el valor de WorkingSetMinimum, expresados como un porcentaje de la memoria de servidor total, supera el umbral. | 100 |
Tiempo de espera (segundos) | Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error. | 300 |
Target | Microsoft.SQLServer.2014.ReportingServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageOnServer | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer" 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.MemoryUsageOnServer" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</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>
<AlertParameter5>$Data/Context/Property[@Name='MemoryUsagePercent']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='MemoryUsageByOtherProcessGB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='MemoryUsageByOtherProcessPercent']$</AlertParameter7>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>100</Threshold>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>