Het is mogelijk dat gegevens uit het geheugen zijn verdwenen in de webtoepassingscode

Microsoft.Windows.InternetInformationServices.10.0.ApplicationPool.MemoryLeak.Monitor (UnitMonitor)

Deze monitor kijkt naast geregistreerde gebeurtenissen wanneer de groep van toepassingen wordt gerecycled vanwege overschrijding van de geconfigureerde geheugendrempels. De status wordt gewijzigd om te waarschuwen als de groep van toepassingen te vaak wordt gerecycled (gebaseerd op de configuratie van de monitor). Dit is een monitor die handmatig wordt gereset, wat betekent dat deze niet automatisch zal overschakelen naar een goede status. Als u de monitor naar een goede status wilt schakelen, moet u de monitor resetten met behulp van de Health Explorer.

Knowledge Base article:

Samenvatting

De groep van toepassingen is te vaak gerecycled omdat het virtuele of fysieke geheugengebruik de geconfigureerde limiet heeft bereikt. Dit zou kunnen duiden op een geheugenlek in de code die door de groep van toepassingen wordt uitgevoerd.

Configuratie

Deze monitor kijkt naar een aantal recyclinggebeurtenissen van de groep toepassingen als gevolg van het bereiken van de geconfigureerde geheugengebruikdrempel (geconfigureerd in IIS-beheertools). Er zijn twee parameters die u kunt configureren voor deze monitor. De eerste is "Aantal keren"; dit is het aantal keren dat de gebeurtenissen waarnaar de monitor kijkt, zich moeten voordoen in de ingestelde tijdinterval. De tweede parameter is "Aantal minuten"; dit is het tijdsinterval waarin de monitor zoekt naar het aantal gebeurtenissen die optreden.

Oorzaken

Oplossingen

U controleert of configureert de limietinstellingen voor de groep van toepassingen als volgt in Beheer van Internet Information Services (IIS):

Opmerking: Dit is een monitor die handmatig opnieuw wordt ingesteld. Na het oplossen van het probleem moet u de monitor opnieuw instellen met de Health Explorer. Klik met de rechtermuisknop op de monitor en selecteer de menuoptie Status opnieuw instellen. Tenzij u handmatig de monitor reset, zal deze niet overschakelen naar een gezonde status.

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.10.0.ApplicationPool
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.InternetInformationServices.10.0.RepeatedEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Het is mogelijk dat gegevens uit het geheugen zijn verdwenen in de webtoepassingscode
Groep van toepassingen {0} op server {1} is meerdere malen opnieuw gestart wegens overschrijding van de opgegeven geheugendrempels voor deze groep van toepassingen. Dit zou kunnen duiden op een geheugenlek in de webtoepassingscode.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.InternetInformationServices.10.0.ApplicationPool.MemoryLeak.Monitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.10.0.ApplicationPool" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.InternetInformationServices.10.0.RepeatedEventLogManualReset2StateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.InternetInformationServices.10.0.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>