Speicherauslastung

Microsoft.MSMQ.10.0.Monitor.Memory (UnitMonitor)

Indikator "Private Bytes" für den MSMQ-Prozess überwachen und warnen, wenn der Wert größer als der Schwellenwert ist.

Knowledge Base article:

Zusammenfassung

Die Menge der von MSMQ verwendeten privaten Bytes ist größer als die Basiswerte und muss überprüft werden.

Lösungen

Wenn die Verwendung der privaten Bytes ausgeglichen ist oder unter den Grundwert zurückfällt, dann kann das Problem an einer in der Aktivität unregelmäßig auftretenden Spitze liegen.

Wenn die privaten Bytes für den MQSVC-Prozess weiterhin zunehmen, dann ermitteln Sie, ob eine entsprechende Zunahme bei der Nachrichtenmenge oder der Nachrichtengröße vorliegt, die wiederum eine erhöhte Speicherauslastung erfordern würde.

Wenn keine anderen Probleme gefunden werden, ziehen Sie einen Neustart des Diensts in Betracht, um seine Speicherbelegung zurückzusetzen. Wenn das Problem erneut auftritt, ist möglicherweise ein weiteres Debuggen erforderlich, um die Quelle der Speicherauslastung zu untersuchen.

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledTrue
Instance NameProcess
Counter NamePrivate Bytes
Frequency900
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Speicherauslastung
Ausführliche Informationen finden Sie im Warnungskontext.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.Memory" Accessibility="Public" Enabled="true" Target="Microsoft.MSMQ.10.0.Servers" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.Monitor.Memory.AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Private Bytes</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>mqsvc</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>104857600</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>