Monitor voor gebruik van WMI-gebruik

Microsoft.SystemCenter.WMIPrivateBytes.Monitor (UnitMonitor)

Deze monitor controleert het WMI-geheugengebruik op de computer.

Knowledge Base article:

Samenvatting

De WMI-service op deze computer gebruikt te veel geheugen.

Deze monitor controleert periodiek het totale geheugengebruik van WMI op de computer door de teller Eigen bytes te controleren voor alle procesinstanties die beginnen met WmiPrv en die te vergelijken met 2 drempelwaarden. Standaard gaat deze monitor over op een waarschuwingsstatus als een van de WMI-gerelateerde processen meer dan 500 MB geheugen gebruikt. De monitor over op een foutstatus als een van de WMI-gerelateerde processen meer dan 600 MB geheugen gebruikt.

Oorzaken

Een mogelijke oorzaak is een WMI-geheugenlek, waardoor WMI in de loop van de tijd steeds meer geheugen gebruikt.

Oplossingen

Als u een patroon van WMI-geheugenproblemen ziet, heeft deze monitor een uitgeschakelde herstelbewerking waarmee WMI automatisch opnieuw wordt gestart als de waarschuwings- of foutdrempel wordt overschreden. Als u ziet dat het probleem hiermee wordt opgelost, kunt u een van deze herstelbewerkingen inschakelen.

Extern

Ga voor meer informatie over het oplossen van WMI-problemen naar http://go.microsoft.com/fwlink/?LinkId=158224.

U kunt ook het diagnostisch hulpprogramma van WMI downloaden van http://go.microsoft.com/fwlink/?LinkId=158226. Het diagnostisch hulpprogramma van WMI is een VBScript-script dat is ontwikkeld om u te helpen bij het oplossen van problemen met de WMI-service op een computer.

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
WMI-geheugengebruik hoog

WMI-geheugengebruik is te hoog {0} Object {1} Teller {2} Heeft een waarde van {3} In computer {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>