Monitor de uso de memoria del WMI

Microsoft.SystemCenter.WMIPrivateBytes.Monitor (UnitMonitor)

Este monitor comprueba el uso de memoria del WMI en el equipo.

Knowledge Base article:

Resumen

El servicio WMI en este equipo está utilizando demasiada memoria.

Este monitor comprueba periódicamente el uso total de memoria de WMI en el equipo. Para ello comprueba el contador de bytes privados en todas las instancias del proceso empezando por WmiPrv y lo compara con 2 umbrales. De forma predeterminada, este monitor pasará al estado de advertencia si algún proceso relacionado con WMI consume más de 500MB de memoria. Pasará al estado de error si algún proceso relacionado con WMI consume más de 600MB de memoria.

Causas

Una pérdida de memoria de WMI podría ser la causa, ya que WMI consume cada vez más memoria en estas circunstancias.

Soluciones

Si observa un patrón de problemas de memoria de WMI, este monitor tiene desactivada una recuperación que reinicia automáticamente WMI cuando se supera el umbral de error o advertencia. Si observa que esto resuelve el problema, puede habilitar una de esas recuperaciones.

Externo

Para obtener más información sobre la solución de problemas de WMI, vaya a http://go.microsoft.com/fwlink/?LinkId=158224.

También puede descargar la utilidad de diagnosis de WMI en http://go.microsoft.com/fwlink/?LinkId=158226. La utilidad de diagnosis de WMI es un script de VBScript diseñado para solucionar los problemas del servicio WMI en un equipo.

Element properties:

TargetMicrosoft.SystemCenter.Agent
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.Performance.FilteredDoubleThreshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Alto uso de la memoria del WMI

El uso de memoria del WMI es demasiado alto Instancia {0} objeto {1} contador {2} tiene un valor {3} en el equipo {4}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.WMIPrivateBytes.Monitor" Accessibility="Public" Enabled="false" Target="SCLibrary!Microsoft.SystemCenter.Agent" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.Performance.FilteredDoubleThreshold.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.WMIPrivateBytes.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
<AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
<AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
<AlertParameter4>$Data/Context/Value$</AlertParameter4>
<AlertParameter5>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Private Bytes</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName/>
<AllInstances>true</AllInstances>
<Frequency>300</Frequency>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">InstanceName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>WmiPrv</Pattern>
</RegExExpression>
</Expression>
<Threshold1>524288000</Threshold1>
<Threshold2>629145600</Threshold2>
</Configuration>
</UnitMonitor>