Configuration de la limite totale de la mémoire

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

La surveillance vous alerte quand le paramètre Limite totale de la mémoire configuré pour l'instance SSAS dépasse le seuil configuré. En effet, cela risque d'entraîner l'allocation de la mémoire physique nécessaire aux fonctions essentielles du système d'exploitation, c'est-à-dire au moins 2 Go.

Knowledge Base article:

Résumé

La surveillance vous alerte quand le paramètre Limite totale de la mémoire configuré pour l'instance SSAS dépasse le seuil configuré. En effet, cela risque d'entraîner l'allocation de la mémoire physique nécessaire aux fonctions essentielles du système d'exploitation. De plus, la configuration ne prend pas en compte la consommation potentielle de mémoire par d'autres processus que ceux de l'instance spécifique surveillée, ce que l'administrateur doit également prendre en compte pour l'ajustement du paramètre Limite totale de la mémoire, après avoir examiné avec attention le Guide des performances multidimensionnelles SSAS.

Causes

Au minimum, le paramètre Limite totale de la mémoire doit offrir suffisamment d'espace au système d'exploitation pour lui permettre d'exécuter les fonctions essentielles de gestion de mémoire, et d'interagir avec les pilotes et le matériel. Si le système d'exploitation n'a pas suffisamment de mémoire disponible pour ces fonctions essentielles, cela peut entraîner une instabilité ou une défaillance du système. Ainsi, le paramètre doit être configuré en dessous de 100 %, pour garantir que ces fonctions disposent de suffisamment de mémoire physique. S'il est défini à un niveau trop élevé, cette surveillance vous alerte pour attirer votre attention sur le problème.

La configuration par défaut de SSAS est de 80 pour le paramètre Limite totale de la mémoire, soit 80 % de la mémoire physique disponible sur le serveur. Si d'autres grands consommateurs de mémoire (par exemple le moteur de base de données relationnelle SQL Server) sont présents, cela doit être pris en compte, et les paramètres de limite de mémoire doivent être abaissés en conséquence. Si ce paramètre est trop élevé, le système d'exploitation peut manquer de mémoire physique, ce qui entraîne une grande quantité de pagination sur le disque et de mauvaises performances sur le serveur.

Si un nombre spécifique d'octets est nécessaire, toute valeur supérieure à 100 est interprétée comme un nombre d'octets de mémoire physique.

Remarque : Remarque : Contrairement au moteur de base de données relationnelle SQL Server, qui prend en charge une limite inconditionnelle de la mémoire maximale, le paramètre Limite totale de la mémoire du moteur SSAS fonctionne un peu différemment. Le paramètre Limite totale de la mémoire correspond à la limite à partir de laquelle le serveur tente d'effacer la mémoire de manière agressive, aussi rapidement que possible. De même, le paramètre Limite de mémoire inférieure correspond à la limite à partir de laquelle le serveur tente d'effacer la mémoire du cache SSAS « de manière non agressive », en tentant de réduire l'impact des sessions ou des requêtes en cours d'exécution. Quand la limite totale de la mémoire est atteinte, les performances du serveur peuvent être affectées, car celui-ci efface la mémoire du cache de manière très agressive. Le serveur prend également en charge le paramètre Limite de mémoire inconditionnelle, à savoir le point à partir duquel le serveur met fin aux sessions de manière arbitraire en tentant de libérer la mémoire. Cela peut entrainer des défaillances pour certains utilisateurs, c'est pourquoi la limite totale de la mémoire n'est pas mise en place en tant que limite inconditionnelle, car certaines requêtes ou certains travaux sont par nature très gourmands en mémoire. Le moteur OLAP fait de son mieux pour les traiter dans les limites de sa configuration.

Solutions

Ce problème peut être résolu par l'une des actions suivantes :

Externe

Considérations liées à la configuration et au dimensionnement de la mémoire dans SQL Server 2008

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

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

604800

Heure de synchronisation

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

 

Seuil d'avertissement (Go)

La surveillance vous alerte quand le paramètre Limite totale de la mémoire configuré pour le système d'exploitation dépasse le seuil configuré. En effet, cela risque d'entraîner l'allocation de la mémoire physique nécessaire aux fonctions essentielles du système d'exploitation, c'est-à-dire au moins 2 Go.

2

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

Element properties:

TargetMicrosoft.SQLServer.2008.AnalysisServices.Instance
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2008 : configuration du paramètre Limite totale de la mémoire non valide
Le paramètre Limite totale de la mémoire configuré pour l'instance SSAS ({0} Go) dépasse le seuil configuré nécessaire aux fonctions essentielles du système d'exploitation. Cela risque d'entraîner une instabilité ou une défaillance du système.
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.TotalMemoryConfiguration" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.TotalMemoryConfiguration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</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="Warning" MonitorTypeStateID="NotConfigured" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Configured" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>2</Threshold>
<IntervalSeconds>604800</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>