Questo monitoraggio controlla l'utilizzo della memoria WMI sul computer.
Il servizio WMI nel computer in uso sta utilizzando troppa memoria.
Questo monitoraggio controlla periodicamente la memoria totale utilizzata da WMI sul computer controllando il contatore Private Bytes per le istanze di tutti i processi a partire da WmiPrv e confrontandolo con 2 soglie. Per impostazione predefinita, questo monitoraggio passerà a uno stato di avviso se qualsiasi processo relativo a WMI consuma più di 500MB di memoria. Passerà invece allo stato di errore se un qualsiasi processo relativo a WMI consuma più di 600MB di memoria.
Una possibile causa potrebbe essere una perdita di memoria di WMI, provocando il consumo di più memoria nel tempo da parte di WMI.
Se si nota uno schema di problemi di memoria di WMI, questo monitoraggio dispone di un ripristino disabilitato che riavvierà automaticamente WMI al superamento della soglia di avviso o di errore. Se questo risolve il problema, è possibile attivare uno di tali ripristini.
Per ulteriori informazioni sulla risoluzione dei problemi WMI, andare all'indirizzo http://go.microsoft.com/fwlink/?LinkId=158224.
È inoltre possibile scaricare l'utilità WMI Diagnosis Utility all'indirizzo http://go.microsoft.com/fwlink/?LinkId=158226. L'utilità WMI Diagnosis Utility è uno script VBScript ideato per consentire di risolvere i problemi del servizio WMI su un computer.
Target | Microsoft.SystemCenter.Agent | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.Performance.FilteredDoubleThreshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>