Służy do monitorowania licznika „Czas procesora (\%)” procesu usługi MSMQ oraz wyświetlania alertów, jeśli wartość jest większa niż wartość progu.
Liczba bajtów prywatnych używanych przez usługę MSMQ jest większa od wartości bazowych i wymaga zbadania.
Jeśli poziomy licznika „Czas procesora (%)” znajdują się poniżej poziomów bazowych lub przekraczają je, problem ten może być spowodowany przejściowym zatorem w aktywności usługi.
Jeśli wykorzystanie procesora w procesie MQSVC ulega dalszemu zwiększeniu, należy sprawdzić, czy wzrost ten odpowiada odpowiedniemu zwiększeniu liczby lub rozmiaru komunikatów, które z kolei wymaga zwiększonego czasu procesora.
Jeśli nie znaleziono innych problemów, można uruchomić ponownie usługę w celu zresetowania użycia procesora. Jeśli problem wystąpi ponownie, może być wymagane szczegółowe debugowanie w celu zbadania źródła użycia procesora.
Target | Microsoft.MSMQ.10.0.Servers | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | True | ||
Instance Name | Process | ||
Counter Name | \% Processor Time | ||
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.Processor" 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.Processor.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>% Processor Time</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>mqsvc</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>10</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>