L'analyse vous alerte si la mémoire consommée par des processus autres que SSRS ne permet pas à SSRS d'allouer la quantité de mémoire spécifiée par le paramètre WorkingSetMinimum. L'analyse utilise la formule suivante afin de déterminer l'état:
({WorkingSetMinimum} + {mémoire consommée par d'autres})*100/{mémoire totale} < {seuil (\%)}
L'analyse vous alerte si la mémoire consommée par des processus autres que SSRS ne permet pas à SSRS d'allouer la quantité de mémoire spécifiée par le paramètre WorkingSetMinimum. L'analyse utilise la formule suivante afin de déterminer l'état :
({WorkingSetMinimum} + {mémoire consommée par d'autres})*100/{mémoire totale} < {seuil (%)}
Reporting Services peut demander beaucoup de mémoire pour de nombreuses raisons, y compris :
Charge élevée – Trop de requêtes d’abonnements/à la demande sont traitées par le serveur de rapports
Des rapports complexes et des rapports affichant beaucoup de données ont été demandés
Des problèmes de sollicitation de mémoire peuvent avoir lieu si d'autres applications consommatrices de mémoire sont en cours d'exécution sur le même serveur.
Vous pouvez penser à ajouter plus de mémoire sur le serveur ou à enlever des applications du serveur.
L’article suivant traite de la configuration de mémoire pour Reporting Services - http://technet.microsoft.com/en-us/library/ms159206.aspx
Configuration des propriétés de serveur dans Reporting Services : Configuration des propriétés du serveur
Nom | Description | Valeur par défaut |
Activé |
| 1 |
Génère des alertes |
| Oui |
Intervalle (en secondes) | L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté. | 900 |
Heure de synchronisation |
|
|
Seuil | L'analyse vous alerte si la somme de mémoire consommée par des processus autres que SSRS et de la valeur de WorkingSetMinimum, exprimée sous forme de pourcentage de la mémoire totale du serveur, dépasse le seuil. | 100 |
Target | Microsoft.SQLServer.2012.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.2012.ReportingServices.MonitorType.Instance.MemoryUsageOnServer | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer" Accessibility="Public" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2012.ReportingServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.ReportingServices.MonitorType.Instance.MemoryUsageOnServer" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.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>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>