Mémoire consommée par d'autres

Microsoft.SQLServer.2012.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer (UnitMonitor)

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 (\%)}

Knowledge Base article:

Résumé

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 (%)}

Causes

Reporting Services peut demander beaucoup de mémoire pour de nombreuses raisons, y compris :

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.

Solutions

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

Paramètres remplaçables

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

Element properties:

TargetMicrosoft.SQLServer.2012.ReportingServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.ReportingServices.MonitorType.Instance.MemoryUsageOnServer
RemotableTrue
AccessibilityPublic
Alert Message
SSRS 2012 : D'autres processus utilisent trop de mémoire
D'autres processus peuvent influencer les performances de SSRS.
Mémoire totale sur le serveur : {0} Go
SSRS WorkingSetMinimum : {1} Go
SSRS WorkingSetMaximium : {2} Go
Mémoire consommée par SSRS: {3} Go ({4} \%)
Mémoire consommée par d'autres processus : {5} Go ({6} \%)
RunAsDefault

Source Code:

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