Dieser Monitor sucht nach protokollierten Ereignissen, wenn der Anwendungspool aufgrund einer Überschreitung der konfigurierten Arbeitsspeicher-Schwellenwerte wiederverwendet wird, und ändert dessen Status in "Warnung", wenn der Anwendungspool zu häufig wiederverwendet wird (basierend auf der Konfiguration des Monitors). Dies ist ein Monitor für die manuelle Zurücksetzung, d. h., es wird nicht automatisch in den fehlerfreien Status gewechselt. Um den Monitor in den fehlerfreien Status zu wechseln, müssen Sie den Monitor mithilfe des Integritäts-Explorers zurücksetzen.
Der Anwendungspool wird zu häufig wiederverwendet, da sein Verbrauch des virtuellen oder physischen Speichers die konfigurierte Grenze erreicht hat. Dies könnte auf einen Speicherverlust im Code hinweisen, der vom Anwendungspool ausgeführt wird.
Dieser Monitor überprüft eine Reihe von Ereignissen im Zusammenhang mit der Wiederverwendung des Anwendungspools, die darauf zurückzuführen sind, dass der konfigurierte Schwellenwert für die Speichernutzung erreicht wurde (dieser wird in den IIS-Verwaltungstools konfiguriert). Für diesen Monitor können Sie zwei Parameter konfigurieren. Der erste Parameter ist der Parameter für die Anzahl von Vorkommen, der angibt, wie oft Ereignisse, nach denen der Monitor sucht, im konfigurierten Zeitintervall auftreten müssen. Der zweite Parameter ist der Parameter für die Anzahl von Minuten, der das Zeitintervall angibt, in dem der Monitor nach Ereignisvorkommen sucht.
Es liegt ein Speicherverlust im Code vor, der vom Anwendungspool ausgeführt wird.
Das Limit für den physischen oder virtuellen Speicher ist zu niedrig festgelegt.
So überprüfen oder konfigurieren Sie die Einstellungen für das Anwendungspoollimit mithilfe des IIS-Managers
Klicken Sie auf Start, klicken Sie auf Systemsteuerung, und klicken Sie dann auf Verwaltung.
Klicken Sie mit der rechten Maustaste auf Internetinformationsdienste (IIS)-Manager, und wählen Sie Als Administrator ausführen aus.
Erweitern Sie links im Bereich Verbindungen den Computer, und wählen Sie dann unter dem Computernamen den Ordner Anwendungspools aus.
Wählen Sie in der Ansicht Features den Anwendungspool aus. Klicken Sie im Bereich Aktionen auf Erweiterte Einstellungen.
Überprüfen oder konfigurieren Sie die Einstellungen für Anwendungspoollimits in den entsprechenden Abschnitten.
Hinweis: Da es sich hierbei um eine manuelle Zurücksetzung handelt, müssen Sie nach dem Beheben des Problems den Status des Monitors im Integritäts-Explorer zurücksetzen. Zu diesem Zweck können Sie mit der rechten Maustaste auf den Monitor klicken und das Menüelement "Integrität zurücksetzen" auswählen. Sofern Sie den Monitor nicht manuell zurücksetzen, kehrt er nicht in den fehlerfreien Status zurück.
Target | Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.InternetInformationServices.6.2.RepeatedEventLogManualReset2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.MemoryLeak.Monitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.InternetInformationServices.6.2.RepeatedEventLogManualReset2StateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.MemoryLeak.Monitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="IISCommon!Microsoft.Windows.InternetInformationServices.ApplicationPool"]/PoolID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="PotentialMemoryLeakDetected" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning"/>
<OperationalState ID="Healthy" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<RepeatedComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</RepeatedComputerName>
<RepeatedLogName>System</RepeatedLogName>
<RepeatedExpression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(5117|5077)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-WAS</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="IISCommon!Microsoft.Windows.InternetInformationServices.ApplicationPool"]/PoolID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</RepeatedExpression>
<NumberOfSeconds>3600</NumberOfSeconds>
<NumberOfOccurrences>10</NumberOfOccurrences>
</Configuration>
</UnitMonitor>