Tento monitor vyhledává události zaprotokolované při recyklaci fondu aplikací v důsledku překročení nakonfigurovaných prahových hodnot paměti a změní svůj stav na varování v případě příliš časté recyklace fondu aplikací (na základě konfigurace monitoru). Jedná se o monitor s ručním resetováním, to znamená, že automaticky nepřejde do stavu V pořádku. Pokud chcete monitor přepnout do stavu V pořádku, je nutné ho resetovat pomocí průzkumníka stavu.
Fond aplikací je příliš často recyklován, protože spotřeba jeho virtuální nebo fyzické paměti dosáhla nakonfigurovaného limitu. To by mohlo značit nevrácenou paměť v rámci kódu, ve kterém se fond aplikací spouští.
Tento monitor funguje na principu vyhledání počtu událostí recyklace fondu aplikací kvůli dosažení prahové hodnoty spotřeby nakonfigurované paměti (konfigurace je provedena v rámci nástrojů pro správu služby IIS). Pro tento monitor je možné nakonfigurovat dva parametry. Prvním je „Počet výskytů.“ Jedná se o počet opakování, kdy musí nastat události, které monitor hledá, v nakonfigurovaném časovém intervalu. Druhým parametrem je „Počet minut.“ Představuje časový interval, ve kterém monitor vyhledává výskyty události.
V rámci kódu, ve kterém se fond aplikací spouští, existuje nevrácená paměť.
Limit fyzické nebo virtuální paměti je nastaven na příliš nízkou hodnotu.
Postup pro kontrolu nebo konfiguraci nastavení limitů fondu aplikací pomocí správce služby IIS:
Klikněte na Start a potom na Ovládací panely a Nástroje pro správu.
Klikněte pravým tlačítkem myši na Správce Internetové informační služby (IIS) a vyberte možnost Spustit jako správce.
V podokně Připojení nalevo rozbalte složku Počítač a potom vyberte složku Fondy aplikací pod názvem počítače.
V části Zobrazení funkcí vyberte fond aplikací. V podokně Akce klikněte na Upřesnit nastavení.
Zkontrolujte nebo nakonfigurujte nastavení limitů fondu aplikací v rámci příslušných oddílů.
Poznámka: Vzhledem k tomu, že se jedná o monitor pro ruční resetování, budete muset po vyřešení problému resetovat stav tohoto monitoru v prohlížeči stavu. Postup: klikněte pravým tlačítkem myši na monitor a vyberte položku nabídky Resetovat stav. Dokud monitor ručně neresetujete, nepřejde do stavu V pořádku.
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>