Procesor

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

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.

Knowledge Base article:

Podsumowanie

Liczba bajtów prywatnych używanych przez usługę MSMQ jest większa od wartości bazowych i wymaga zbadania.

Rozwiązania

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.

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledTrue
Instance NameProcess
Counter Name\% Processor Time
Frequency900
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Procesor
Więcej informacji zawiera kontekst alertu.
RunAsDefault

Source Code:

<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>