Este monitor garantiza que el contador "Proceso\Bytes privados" para los procesos MonitoringHost.exe no supere un umbral establecido sobre una serie de muestras consecutivas. Si se cumplen las condiciones, este monitor cambiará a un estado crítico, que se acumulará al monitor "Estado del servicio de mantenimiento". El monitor "Estado del servicio de mantenimiento" está configurado para ejecutar una recuperación cuando su estado es crítico, que intentará reiniciar automáticamente el servicio de mantenimiento.
Esta regla mide el uso del Proceso\Bytes privados para todas las instancias del proceso MonitoringHost.exe. Si supera el umbral configurado, la respuesta intenta reiniciar el servicio de mantenimiento para asegurarse de que no continúe sobrecargando el equipo.
Hay distintos umbrales según la función que el servicio de mantenimiento tenga configurada para realizar. A continuación se resumen los umbrales predeterminados:
Función del servicio de mantenimiento | Umbral de bytes privados |
Agente | 300 MB |
Servidor de administración | 1.500 MB |
A continuación, se detalla la configuración de la respuesta que intenta reiniciar el servicio de mantenimiento:
Función del servicio de mantenimiento | Comportamiento de respuesta de reinicio |
Agente | Habilitada |
Servidor de administración | Sin respuesta de reinicio |
Un breve resumen de las posibles causas incluye:
Se han cargado demasiadas reglas o monitores desde todos los módulos de administración con que está configurado este servicio de mantenimiento. |
Hay una regla o un monitor mal configurados que está recopilando o procesando demasiados datos (p. ej., la regla de recopilación del contador de rendimiento recopila datos cada segundo) |
Esto puede deberse a que el servicio de mantenimiento está ejecutando demasiados módulos de administración. Cada módulo de administración puede tener muchos procesos de supervisión que usan una pequeña cantidad de recursos. Debido a la cantidad de módulos de administración que se suman a los varios miles de reglas y monitores, cada instancia de MonitoringHost.exe puede empezar a consumir más recursos.
Esto se puede esperar en el caso de este servicio de mantenimiento según el tipo de supervisión que realice el servicio de mantenimiento.
Otra causa puede ser que una o más reglas y monitores no se ajusten a algunas prácticas recomendadas. Por ejemplo, una regla de contador de rendimiento que intenta recopilar datos de rendimiento cada segundo. Si hay demasiadas reglas o monitores configurados de esta forma, el proceso monitoring host.exe consumirá más recursos.
La acción predeterminada para esta regla que se ejecuta en agentes es reiniciar el servicio de mantenimiento. Debido a que esta recuperación está habilitada de forma predeterminada en los agentes, no se requiere ninguna acción del usuario.
Tenga en cuenta que puede que el servicio de mantenimiento no se reinicie correctamente si la cuenta de acción con la que se ha configurado este agente no tiene los permisos adecuados para reiniciar el servicio.
En tal caso, inicie el servicio de Windows Servicio de mantenimiento.
Si cree que el uso de recursos es el adecuado para el nivel de supervisión que está realizando este agente, puede invalidar el umbral o deshabilitar la regla.
Target | Microsoft.SystemCenter.Agent |
Parent Monitor | Microsoft.SystemCenter.HealthService.ServiceStateRollup |
Category | PerformanceHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType |
Remotable | False |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.Agent.MonitoringHost.PrivateBytesThreshold" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.Agent" ParentMonitorID="Microsoft.SystemCenter.HealthService.ServiceStateRollup" Remotable="false" Priority="High" TypeID="Microsoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="PrivateBytesUnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="PrivateBytesOverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ObjectName>Process</ObjectName>
<CounterName>Private Bytes</CounterName>
<InstanceName>MonitoringHost*</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>120</Frequency>
<NumSamples>5</NumSamples>
<Threshold>314572800</Threshold>
<Direction>greater</Direction>
</Configuration>
</UnitMonitor>