Speicherauslastung

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

Der Monitor meldet eine Warnung, wenn die Speicherbelegungen durch die SSAS-Instanz den konfigurierten Warnungsschwellenwert (WarningThreshold) überschreiten, ausgedrückt als Prozentwert der TotalMemoryLimit-Einstellung für die SSAS-Instanz. Der Monitor meldet eine kritische Warnung, wenn die Belegungen den konfigurierten kritischen Schwellenwert (CriticalThreshold) überschreiten.

Knowledge Base article:

Zusammenfassung

Der Monitor meldet eine Warnung, wenn die Speicherbelegungen durch die SSAS-Instanz den konfigurierten Warnungsschwellenwert (WarningThreshold) überschreiten, ausgedrückt als Prozentwert der TotalMemoryLimit-Einstellung für die SSAS-Instanz. Der Monitor meldet eine kritische Warnung, wenn die Belegungen den konfigurierten kritischen Schwellenwert (CriticalThreshold) überschreiten.

Ursachen

Unter bestimmten Umständen kann die TotalMemoryLimit-Einstellung von SSAS nahezu erreicht oder überschritten werden. In manchen Fällen benötigt ein einzelner Vorgang mehr Speicher als durch das Limit vorgegeben, und trotz aller Bemühungen des Servers, Speicher von anderen, weniger dringenden Tasks freizugeben, kann es mitunter vorkommen, dass die Belegungen die konfigurierten Limits überschreiten müssen, da es andernfalls zwangsläufig zu einem Fehler bei dem Vorgang kommt.

Dies kann beim Verarbeiten von großen Dimensionen oder Faktendaten auftreten, insbesondere wenn Attribute mit Datentypen vorhanden sind, die viel Platz belegen (z. B. lange Zeichenfolgen, Binärdaten usw.), oder wenn die Dimension zahlreiche Mitglieder enthält. Auch können Abfragen, die auf dem Server ausgeführt werden, sehr viel Platz belegen, insbesondere wenn mehrere Dimensionen kreuzverknüpft werden oder erhebliche Berechnungen zur Ableitung von Ergebnissen für Zellen erforderlich sind, die nicht schon vorher von einem vorausschauenden Administrator aggregiert wurden oder einfach nicht im Voraus aggregiert werden können.

Lösungen

Wenn die Speicherlimits auf einem Server überschritten werden, stehen Administratoren zur Lösung des Problems zahlreiche Herangehensweisen zur Verfügung. Nach sowohl gründlicher Betrachtung der zugrunde liegenden Aktivität, durch die die Speicherauslastung verursacht wird, der Anforderungen für die Arbeitsauslastung auf dem Server, der verfügbaren Ressourcen und weiterer Faktoren als auch nach gründlichem Lesen und Erwägen des Leistungshandbuchs für SSAS (mehrdimensional) oder bei Bedarf Nachfrage beim Microsoft-Support, kann das Problem mit einer der folgenden Herangehensweisen behandelt werden:

Extern

TechNet-Dokumentation zu Analysis Services-Speichereigenschaften

Konfigurationseigenschaften von Analysis Services

Leistungshandbuch für SSAS (mehrdimensional)

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Kritischer Schwellenwert (%)

Der Integritätsstatus ändert sich in "Kritisch", wenn die Speicherauslastung durch Analysis Services (%) den Schwellenwert überschreitet.

95

Aktiviert

Aktiviert oder deaktiviert den Workflow

True (wahr)

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert

True (wahr)

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

900

Synchronisierungszeit

Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

4

Warnungsschwellenwert (%)

Der Integritätsstatus ändert sich in "Warnung", wenn die Speicherauslastung durch Analysis Services (%) den Schwellenwert überschreitet, aber noch unter dem kritischen Schwellenwert (%) liegt.

 

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: Hohe Speicherauslastung
Die aktuelle Speicherauslastung für SSAS ({3} GB) überschreitet den konfigurierten Schwellenwert, ausgedrückt als Prozentwert der TotalMemoryLimit-Einstellung für die Instanz.
Gesamtspeicher auf dem Server: {2} GB
Insgesamt verwendeter Speicher: {5} GB
Von Nicht-SSAS-Prozessen verwendeter Speicher: {4} GB
Von SSAS verwendeter Speicher: {3} GB
Niedriges SSAS-Speicherlimit: {6} GB ({7} \%)
Hohes SSAS-Speicherlimit: {0} GB ({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/>
</Configuration>
</UnitMonitor>