Ez a figyelő megfigyeli az alkalmazáskészletnek a konfigurált memória-küszöbértékek túllépése miatt történő újraindításakor naplózott eseményeket, és az állapotát figyelmeztetésre módosítja, ha az alkalmazáskészlet újraindítására túl gyakran kerül sor (a figyelő konfigurációja szerint). A figyelő kézzel állítható alaphelyzetbe, ami azt jelenti, hogy nem vált vissza automatikusan kifogástalan állapotra. Ha át szeretné állítani a figyelőt kifogástalan állapotúra, akkor a figyelőt alaphelyzetbe kell állítania az állapotkezelő segítségével.
Az alkalmazáskészlet túl gyakran újraindul, mivel virtuális vagy fizikai memóriafogyasztása elérte a konfigurált korlátot. Ez arra utalhat, hogy memóriaszivárgás van az alkalmazáskészlet által végrehajtott kódban.
A figyelő úgy működik, hogy azon alkalmazáskészlet-újraindítási eseményeket keresi, amelyeket a beállított memória-küszöbérték átlépése okozott (ez az IIS felügyeleti eszközeiben konfigurálható). A figyelő két konfigurálható paraméterrel rendelkezik. Az első az „Előfordulások száma”, ez azon alkalmak száma, ahányszor a figyelő által keresett eseményeknek elő kell fordulniuk a beállított időtartam alatt. A második paraméter a „Percek száma”, az az időtartam, amelyben a figyelő az események előfordulásait keresi.
Memóriaszivárgás tapasztalható az alkalmazáskészlet által végrehajtott kódban.
A fizikai vagy virtuális memória korlátja túl alacsonyra van beállítva.
Az alkalmazáskészlet korlátozási beállításainak ellenőrzése vagy konfigurálása az IIS-kezelő segítségével:
Kattintson a Start gombra, majd a Vezérlőpult, végül a Felügyeleti eszközök lehetőségre.
Kattintson a jobb gombbal az Internet Information Services (IIS) kezelője lehetőségre, majd válassza a Futtatás rendszergazdaként parancsot.
A bal oldali Kapcsolatok ablaktáblán bontsa ki a számítógép csomópontot, majd válassza az Alkalmazáskészletek mappát a számítógép neve alatt.
A Szolgáltatások nézetben válassza ki az alkalmazáskészletet. A Műveletek ablaktáblán válassza a Speciális beállítások lehetőséget.
Ellenőrizze vagy konfigurálja az alkalmazás korlátozási beállításait a megfelelő szakasz(ok)ban.
Megjegyzés: Mivel ez egy kézzel alaphelyzetbe állítható figyelő, a probléma kijavítása után alaphelyzetbe kell állítania a figyelő állapotát az állapotkezelőben. Ehhez kattintson a jobb gombbal a figyelőre, és válassza ki az „Állapot alaphelyzetbe állítása” menüpontot. Ha a figyelőt nem állítja alaphelyzetbe kézzel, az nem vált vissza kifogástalan állapotra.
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>