Der Monitor warnt, wenn von SSRS aufgrund der Speicherbelegungen anderer Prozesse nicht die Speichermenge belegt werden kann, die durch die WorkingSetMinimum-Einstellung vorgeschrieben ist. Der Status wird vom Monitor anhand der folgenden Formel ermittelt:
({WorkingSetMinimum} + {anderweitig belegter Speicher}) × 100/{Gesamtspeicher} < {Schwellenwert (\%)}
Der Monitor warnt, wenn von SSRS aufgrund der Speicherbelegungen anderer Prozesse nicht die Speichermenge belegt werden kann, die durch die WorkingSetMinimum-Einstellung vorgeschrieben ist. Der Status wird vom Monitor anhand der folgenden Formel ermittelt:
({WorkingSetMinimum} + {anderweitig belegter Speicher})*100/{Gesamtspeicher} < {Schwellenwert (%)}
Die Reporting Services können aus unterschiedlichen Gründen viel Speicher benötigen, beispielsweise:
Hohe Auslastung: Vom Berichtsserver werden viele bedarfsgesteuerte Anforderungen bzw. Abonnementanforderungen verarbeitet.
Anforderungen für komplexe Berichte oder Berichte mit vielen Daten
Eine Speicherauslastung kann auftreten, wenn auf demselben Server andere speicherintensive Prozesse ausgeführt werden.
Sie können dem Server ggf. mehr Arbeitsspeicher hinzufügen oder andere Anwendungen vom Server entfernen.
Der folgende Artikel stellt entsprechende Informationen zur Speicherkonfiguration für die Reporting Services bereit:
Konfigurieren von verfügbarem Speicher für Berichtsserveranwendungen
Konfigurieren von Servereigenschaften in Reporting Services: Konfigurieren von Servereigenschaften
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Ja |
Intervall (Sekunden) | Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll. | 900 |
Anzahl der Stichproben | Der Integritätsstatus ändert sich, wenn die Anzahl von Schwellenwertverletzungen höher als die Mindestanzahl von Verletzungen oder gleich der Mindestanzahl von Verletzungen ist. | 4 |
Synchronisierungszeit | Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden. |
|
Schwellenwert | Der Monitor warnt, wenn die Summe aus den Speicherbelegungen durch andere Prozesse als SSRS und dem Wert von WorkingSetMinimum den Schwellenwert überschreitet. Die Summe wird ausgedrückt als Prozentwert des Gesamtspeichers auf dem Server. | 100 |
Timeout (Sekunden) | Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird. | 300 |
Target | Microsoft.SQLServer.2014.ReportingServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageOnServer | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer" Accessibility="Public" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2014.ReportingServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageOnServer" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.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>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>