Der Monitor warnt, wenn das konfigurierte TotalMemoryLimit für die SSAS-Instanz den konfigurierten Schwellenwert überschreitet, sodass die Belegung von physischem Speicher für grundlegende Funktionen des Betriebssystems gefährdet ist (mindestens 2 GB).
Der Monitor warnt, wenn das konfigurierte TotalMemoryLimit für die SSAS-Instanz den konfigurierten Schwellenwert überschreitet, sodass die Belegung von physischem Speicher für grundlegende Funktionen des Betriebssystems gefährdet ist. Darüber hinaus berücksichtigt die Konfiguration keine möglichen Speicherbelegungen durch andere Prozesse als die spezifische überwachte Instanz. Dies muss von Administratoren beim Anpassen der TotalMemoryLimit-Einstellungen nach gründlichem Lesen des Leistungshandbuchs für SSAS (mehrdimensional) außerdem berücksichtigt werden.
TotalMemoryLimit muss so konfiguriert sein, dass zumindest dem Betriebssystem ausreichend Speicher für grundlegende Funktionen der Speicherverwaltung und der Treiber- und Hardwareinteraktion verbleibt. Wenn für das Betriebssystem nicht genügend Speicher verfügbar ist, um diese grundlegenden Funktionen auszuführen, können Systeminstabilitäten oder Systemfehler auftreten. Die Einstellung muss daher etwas unter 100 % konfiguriert sein, damit eine ausreichende Verfügbarkeit von physischem Speicher für die entsprechenden Funktionen sichergestellt ist. Ist die Einstellung zu hoch, warnt dieser Monitor vor der entsprechenden Bedingung.
Die SSAS-Standardkonfiguration für TotalMemoryLimit beträgt 80. Dieser Wert entspricht 80 % verfügbarem physischen Speicher auf dem Server. Sind weitere speicherintensive Prozesse vorhanden (z. B. das relationale SQL Server-Datenbankmodul), müssen sie berücksichtigt und die Speicherlimiteinstellungen entsprechend verringert werden. Wird die Zahl zu hoch gewählt, geht dem Betriebssystem möglicherweise der physische Speicher aus. Dies kann zu einer erheblichen Auslagerung von Arbeitsspeicher auf den Datenträger und damit zu Ineffizienz der Serverleistung führen.
Falls eine bestimmte Byteanzahl erforderlich ist: Werte über 100 werden als Anzahl von Bytes des physischen Speichers interpretiert.
Hinweis: Das relationale SQL Server-Datenbankmodul unterstützt eine feste Begrenzung für den maximalen Speicher. TotalMemoryLimit für das SSAS-Modul funktioniert jedoch etwas anders. TotalMemoryLimit ist der Grenzwert, ab dem der Server mit Nachdruck versucht, so schnell wie möglich Speicher freizugeben. Entsprechend ist LowMemoryLimit der Grenzwert, ab dem der Server noch zögerlich versucht, Speicher vom SSAS-Cache freizugeben, um möglichst die Auswirkungen auf vorhandene Sitzungen oder Abfragen, die sich bereits in der Ausführung befinden, gering zu halten. Beim Erreichen von TotalMemoryLimit wird die Serverleistung ggf. beeinträchtigt, da der Server mit großem Nachdruck Speicher aus dem Cache freigibt. Der Server unterstützt darüber hinaus eine HardMemoryLimit-Einstellung – ein Punkt, ab dem der Server damit beginnt, willkürlich Sitzungen zu beenden, um Speicher freizugeben. Dadurch treten bei einigen Benutzern möglicherweise Fehler auf, weshalb TotalMemoryLimit nicht in Form einer festen Grenze erzwungen wird, da manche Abfragen oder Aufträge naturgemäß sehr speicherintensiv sein können und das OLAP-Modul alle Anstrengungen unternimmt, sie innerhalb der für das Modul konfigurierten Grenzen zu verarbeiten.
Diese Bedingung kann durch eine der folgenden Maßnahmen behoben werden:
Verringern Sie TotalMemoryLimit auf einen Wert, der unter dem konfigurierten Schwellenwert liegt.
Fügen Sie dem Server physischen Speicher hinzu, um die TotalMemoryLimit-Einstellung, wenn sie als Prozentwert des insgesamt verfügbaren physischen Speichers ausgedrückt ist, auf einen Wert zu verringern, der unter dem in GB ausgedrückten Schwellenwert liegt.
Verringern Sie den konfigurierten Schwellenwert, um die Warnung zu vermeiden.
Deaktivieren Sie den Monitor ganz, wenn die Speicherauslastung auf dem Server nicht relevant ist.
Überlegungen zur Speicherkonfiguration und Speichergröße in SQL Server 2008
TechNet-Dokumentation zu Analysis Services-Speichereigenschaften
Konfigurationseigenschaften von Analysis Services
Leistungshandbuch für SSAS (mehrdimensional)
Name | Beschreibung | Standardwert |
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. | 604800 |
Synchronisierungszeit | Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden. |
|
Warnungsschwellenwert (GB) | Der Monitor warnt, wenn das konfigurierte TotalMemoryLimit für die SSAS-Instanz den konfigurierten Schwellenwert überschreitet, sodass die Belegung von physischem Speicher für grundlegende Funktionen des Betriebssystems gefährdet ist (mindestens 2 GB). | 2 |
Target | Microsoft.SQLServer.2008.AnalysisServices.Instance | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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/>
</Configuration>
</UnitMonitor>