Utilisation de la mémoire

Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage (UnitMonitor)

La surveillance émet un avertissement quand les allocations de mémoire par l'instance SSAS dépassent le seuil d'avertissement configuré, exprimé sous forme de pourcentage du paramètre Limite totale de la mémoire pour l'instance SSAS. La surveillance émet une alerte critique quand ces allocations dépassent le seuil critique configuré.

Knowledge Base article:

Résumé

La surveillance émet un avertissement quand les allocations de mémoire par l'instance SSAS dépassent le seuil d'avertissement configuré, exprimé sous forme de pourcentage du paramètre Limite totale de la mémoire pour l'instance SSAS. La surveillance émet une alerte critique quand ces allocations dépassent le seuil critique configuré.

Causes

SSAS peut approcher ou dépasser le paramètre Limite totale de la mémoire dans certaines circonstances. Dans certains cas, une seule opération nécessite une quantité de mémoire supérieure aux limites et, malgré les efforts du serveur pour supprimer de la mémoire les tâches moins immédiates, les allocations peuvent parfois, en cas de nécessité, dépasser les limites configurées. Dans le cas contraire, les opérations peuvent être forcées de s'arrêter.

Cela peut arriver durant le traitement de grandes dimensions ou de données de faits, en particulier s'il existe des attributs avec des types de données qui consomment de grandes quantités d'espace (par exemple des chaînes longues, des données binaires, etc.), ou si la dimension comprend plusieurs membres. De plus, les requêtes exécutées sur le serveur peuvent couvrir de très grands espaces, en particulier si plusieurs dimensions sont soumises à une jointure croisée, ou si des calculs importants sont nécessaires pour dériver les résultats de cellules qui n'ont pas été agrégées par un administrateur aguerri, ou qui n'ont tout simplement pas pu être agrégées à l'avance.

Solutions

Quand les limites de mémoire d'un serveur sont dépassées, les administrateurs peuvent utiliser différentes approches pour y remédier. Après avoir pris en compte l'activité sous-jacente responsable de l'utilisation de la mémoire, les exigences de la charge de travail sur le serveur, les ressources disponibles et d'autres facteurs, ainsi qu'après avoir soigneusement examiné et pris en compte le Guide des performances multidimensionnelles SSAS ou consulté le Support Microsoft, si nécessaire, les administrateurs peuvent adopter les approches suivantes pour résoudre le problème :

Externe

Documentation TechNet pour les propriétés de mémoire Analysis Services

Configurer les propriétés du serveur dans Analysis Services

Guide des performances multidimensionnelles SSAS

Paramètres remplaçables

Nom

Description

Valeur par défaut

Seuil critique (en %)

L'état d'intégrité passe à Critique quand l'utilisation de mémoire Analysis Services (en %) dépasse le seuil.

95

Activé

Active ou désactive le workflow

Oui

Génère des alertes

Définit si le workflow génère une alerte

Oui

Intervalle en secondes

L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté.

900

Nombre d'échantillons

L'état d'intégrité change si le nombre de dépassement de seuil est supérieur ou égal au nombre minimal de dépassements.

4

Heure de synchronisation

L'heure de synchronisation spécifiée dans un format de 24 heures. Peut être omise.

 

Délai d'attente (secondes)

Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec.

300

Seuil d'avertissement (en %)

L'état d'intégrité passe à Avertissement quand l'utilisation de mémoire Analysis Services (en %) dépasse le seuil mais reste sous le seuil critique (en %).

80

Element properties:

TargetMicrosoft.SQLServer.2008.AnalysisServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.MemoryUsagePercent
RemotableTrue
AccessibilityPublic
Alert Message

SSAS 2008 : Utilisation de mémoire élevée
L'utilisation de mémoire actuelle pour SSAS ({3} Go) dépasse le seuil configuré, exprimé en tant que pourcentage du paramètre Limite totale de la mémoire pour l'instance.
Mémoire totale sur le serveur : {2} Go
Utilisation de mémoire totale : {5} Go
Mémoire utilisée par des processus non SSAS : {4} Go
Mémoire utilisée par SSAS : {3} Go
Limite basse de mémoire SSAS : {6} Go ({7} \%)
Limite haute de mémoire SSAS : {0} Go ({8} \%)
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.MemoryUsagePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='MemoryLimitHighGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='MemoryLeavesForOsGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='MemoryUsageByOtherProcessGB']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='UsedPhysicalMemoryGB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='MemoryLimitLowGB']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='MemoryLimitLowPercent']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='MemoryLimitHighPercent']$</AlertParameter9>
</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>
<WarningThreshold>80</WarningThreshold>
<CriticalThreshold>95</CriticalThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>