Ten monitor sprawdza użycie pamięci przez usługę WMI na tym komputerze.
Usługa WMI na tym komputerze zużywa za dużo pamięci.
Ten monitor okresowo sprawdza łączne użycie pamięci komputera przez usługę WMI, sprawdzając licznik Prywatne bajty dla wszystkich wystąpień procesów, których nazwy zaczynają się ciągiem WmiPrv, i porównując jego wartość z dwoma progami. Domyślnie monitor przechodzi w stan ostrzegawczy, jeśli którykolwiek proces związany z usługą WMI zużywa ponad 500 MB pamięci. Przejście w stan błędu następuje, jeśli którykolwiek proces związany z usługą WMI zużywa ponad 600 MB pamięci.
Możliwą przyczyną jest wyciek pamięci w usłudze WMI powodujący coraz większe zużycie pamięci wraz z upływem czasu.
Jeśli problemy z pamięcią usługi WMI pojawiają się regularnie, ten monitor zawiera wyłączone odzyskiwania, które powodują automatyczne ponowne uruchomienie usługi WMI po przekroczeniu progu ostrzeżenia lub błędu. Jeśli to rozwiązuje problem, można włączyć jedno z tych odzyskiwań.
Więcej informacji na temat rozwiązywania problemów dotyczących WMI można znaleźć pod adresem http://go.microsoft.com/fwlink/?LinkId=158224.
Można również pobrać narzędzie diagnostyczne WMI spod adresu http://go.microsoft.com/fwlink/?LinkId=158226. Narzędzie to jest skryptem VBScript opracowanym w celu ułatwienia rozwiązywania problemów z usługą WMI na komputerze.
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>