Indikator "Private Bytes" für den MSMQ-Prozess überwachen und warnen, wenn der Wert größer als der Schwellenwert ist.
Die Menge der von MSMQ verwendeten privaten Bytes ist größer als die Basiswerte und muss überprüft werden.
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.
Target | Microsoft.MSMQ.10.0.Servers | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | True | ||
Instance Name | Process | ||
Counter Name | Private Bytes | ||
Frequency | 900 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>