Este monitor contempla los eventos registrados cuando el grupo de aplicaciones se recicla debido a que se exceden los umbrales de memoria configurados y cambiará su estado para advertir si el grupo de aplicaciones se recicla con demasiada frecuencia (según la configuración del monitor). Este es una monitor de restablecimiento manual lo que significa que no cambiará al estado correcto de manera automática. Para que el monitor cambie al estado correcto, tendrá que restablecerlo mediante el explorador de estado.
El grupo de aplicaciones se recicla con demasiada frecuencia porque su consumo de memoria virtual o física alcanzó el limite configurado. Esto podría ser indicativo de una pérdida de memoria en el código que está ejecutando el grupo de aplicaciones.
Este monitor lo que hace es buscar varios eventos de reciclaje de grupo de aplicaciones por haber alcanzado el umbral configurado del uso de memoria (se configura en las herramientas de administración de IIS). Existen dos parámetros configurables para este monitor. El primero es el "Número de repeticiones"; se trata del número de veces que los eventos que el monitor busca se deben producir en el intervalo de tiempo configurado. El segundo parámetro es el "Número de minutos"; se trata del intervalo de tiempo en el que el monitor busca la repetición de eventos.
Existe una pérdida de memoria en el código que está ejecutando el grupo de aplicaciones.
El límite de la memoria física o virtual está establecido en un valor demasiado bajo.
Para comprobar o configurar los valores del límite del grupo de aplicaciones mediante el Administrador de IIS:
Haga clic en Inicio, elija Panel de control, y seleccione Herramientas administrativas.
Haga clic con el botón secundario en Administrador de Internet Information Services (IIS) y seleccione Ejecutar como administrador.
En el panel Conexiones de la izquierda, expanda el equipo y después seleccione la carpeta Grupos de aplicaciones situada bajo el nombre del equipo.
En Vista características, seleccione el grupo de aplicaciones. En el panel Acciones, seleccione Configuración avanzada.
Compruebe o configure los valores de los límites del grupo de aplicaciones en la(s) sección(es) apropiada(s).
Nota: Como este es un monitor de restablecimiento manual, tras arreglar el problema, tendrá que restablecer el estado del monitor en el explorador de estado. Puede hacerlo haciendo clic con el botón derecho en el monitor y seleccionado el elemento de menú "Restablecer estado". A no ser que restablezca el monitor manualmente, no cambiará al estado correcto.
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>