Den här övervakaren kontrollerar händelser som loggas när programpoolen återvinns på grund av att de konfigurerade minneströsklarna överskridits och ändrar status till varning om programpoolen återvinns för ofta (baserat på övervakarens konfiguration). Det här är en övervakare som återställs manuellt vilket innebär att den inte går över till felfritt tillstånd automatiskt. Om du vill växla övervakaren till felfritt tillstånd måste du återställa övervakaren med hjälp av hälsoutforskaren.
Programpoolen återvinns för ofta eftersom den virtuella eller fysiska minnesförbrukningen nådde den konfigurerade gränsen. Detta kan tyda på en minnesläcka inuti den kod som programpoolen kör.
Övervakaren fungerar så att den söker efter ett antal händelser av typen programpoolsåtervinning på grund av att den konfigurerade tröskeln för minnesanvändning uppnåtts (detta konfigureras inifrån IIS-administratörsverktygen). Det finns två parametrar som du kan konfigurera för den här övervakaren. Det första är antalet förekomster. Detta är det antal gånger som händelser som övervakaren söker efter behöver förekomma under det konfigurerade tidsintervallet. Den andra parametern är antalet minuter. Detta är det tidsintervall under vilket övervakaren söker efter händelseförekomsterna.
Det finns en minnesläcka inuti den kod som programpoolen kör.
Den fysiska eller virtuella minnesgränsen har en för låg inställning.
Så här kontrollerar eller konfigurerar du inställningarna för programpoolsgränsen med hjälp av IIS Manager:
Klicka på Start, klicka på Kontrollpanel, och klicka sedan på Administratörsverktyg.
Högerklicka på Internet Information Services (IIS) Manager och välj Kör som administratör.
I rutan Anslutningar till vänster utvidgar du datorn och väljer sedan mappen Programpooler under namnet på datorn.
I Verktygsmenyn, välj programpool. Välj Avancerade inställningar i fönstret Åtgärder.
Kontrollera eller konfigurera inställningarna för programpoolsgränserna under aktuellt/aktuella avsnitt.
Obs! Eftersom det här är en manuell återställningsövervakare måste du återställa statusen för övervakaren i hälsoutforskaren när du har korrigerat problemet. Det kan du göra genom att högerklicka på övervakaren och välja menyalternativet Återställ hälsotillstånd. Om du inte återställer övervakaren manuellt kommer den inte att växla till felfritt tillstånd.
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>