Monitor de utilização da memória do WMI

Microsoft.SystemCenter.WMIPrivateBytes.Monitor (UnitMonitor)

Esse monitor verifica a utilização da memória do WMI no computador.

Knowledge Base article:

Resumo

O serviço WMI neste computador está usando muita memória.

Esse monitor verifica frequentemente o uso total da memória do WMI no computador selecionando o contador de Bytes Particulares para todas as instâncias do processo que se iniciam com WmiPrv e as comparando com dois limites. Por padrão, esse monitor entrará no estado de aviso se qualquer processo relacionado ao WMI consumir mais de 500MB de memória. Ele entrará em estado de erro se qualquer processo relacionado ao WMI consumir mais de 600MB de memória.

Causas

Uma possível causa é a perda de memória, que faz com que o WMI consuma cada vez mais memória.

Resoluções

Caso você se depare com um padrão de memória do WMI, esse monitor possui uma recuperação desabilitada que reiniciará o WMI quando o limite de aviso ou erro exceder. Se perceber que isso resolve o problema, você poderá habilitar uma dessas recuperações.

Externo

Para obter mais informações sobre como solucionar problemas com o WMI, acesse http://go.microsoft.com/fwlink/?LinkId=158224.

Também é possível baixar o Utilitário de Diagnóstico WMI em http://go.microsoft.com/fwlink/?LinkId=158226. O utilitário de diagnósticos WMI é um script VBScript projetado para ajudar a solucionar problemas do serviço WMI em um computador.

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
Uso alto de memória do WMI

O uso de memória do WMI é muito alto. A instância {0}, objeto {1}, contador {2} tem um valor {3} no computador {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>