DPC-Zeit (\%) insgesamt

Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime (UnitMonitor)

Überwacht, wie hoch der Anteil der DPC-Zeit ist.

Knowledge Base article:

Zusammenfassung

Der Wert für „DPC-Zeit (%)“ (Prozessorinformationen\DPC-Zeit (%)\_Total) für das System hat den Schwellenwert überschritten. Die Leistung des Systems insgesamt kann sich merklich verringern und so das Betriebssystem und Anwendungen ausbremsen.

„DPC-Zeit (%)“ gibt an, wie viel Zeit der Prozessor mit dem Empfangen und Verarbeiten von DPCs (Deferred Procedure Call, zurückgestellter Prozeduraufruf) beschäftigt war. DPCs sind Interrupts, die mit niedrigerer Priorität als Standardinterrupts ausgeführt werden. Ein durchgängig hoher Wert für "DPC-Zeit (%)" ist möglicherweise ein Hinweis auf einen Prozessorengpass oder ein anwendungs- oder hardwarebedingtes Problem, das die Gesamtleistung des Systems merklich verringern kann.

Ursachen

Ein hoher Wert für „DPC-Zeit (%)“ kann folgende Ursachen haben:

Lösungen

Gehen Sie zum Ermitteln der Ursache für eine hohe DPC-Rate wie folgt vor:

Beobachten Sie den Anteil der Prozessorzeit, der für das Verarbeiten von Interrupts und DPCs benötigt wird. Überwachen Sie dazu die folgenden Leistungsindikatoren im Systemmonitor in Echtzeit:

Wenn für einen Prozessor der Wert für die Prozessorzeit (%) ständig größer als 85 Prozent ist und der Prozessor außerdem mehr als 15 Prozent dieser Zeit mit dem Verarbeiten von Interrupts und/oder DPCs verbringt, ist wahrscheinlich der Prozessor die Ursache für den Leistungsengpass. Dieser Engpass kann durch ein Prozessorupgrade oder durch Hinzufügen weiterer Prozessoren zum Computer behoben werden.

Wenn für einen Prozessor der Wert von Prozessorzeit (%) ständig größer als 85 Prozent ist und der Prozessor mehr als 15 Prozent dieser Zeit mit dem Verarbeiten von Interrupts und/oder DPCs verbringt, wird das Leistungsproblem vermutlich durch ein anwendungs- oder hardwarebedingtes Problem verursacht.

Falls ein Hardwaregerät die Hauptursache darstellt, bemerkt der Administrator über einen kurzen Zeitraum u. U. einen deutlichen Anstieg des Werts für „DPC-Zeit (%)“. Dies tritt häufig auf, wenn neue Hardware installiert wurde oder Treiber aktualisiert wurden. Wenn der Administrator das Problem auf ein Problem mit der Hardware oder einem Gerätetreiber zurückführen kann, sollte es zusammen mit dem Anbieter gelöst werden.

Wenn Sie ein Multiprozessorsystem verwalten, in dem Interrupts nicht symmetrisch verteilt werden, kann die Verteilung der Prozessorauslastung häufig durch Hinzufügen von Netzwerkadaptern verbessert werden, sodass für jeden Prozessor ein Adapter zur Verfügung steht. Im Allgemeinen fügen Sie nur dann Adapter hinzu, wenn der Durchsatz des Systems verbessert werden soll. Netzwerkadapter verursachen wie jede zusätzliche Hardware einen gewissen zusätzlichen Verwaltungsaufwand. Ist einer der Prozessoren aber nahezu ständig aktiv (d. h. "Prozessorinformationen\Prozessorzeit (%) = 100") und verbringt mehr als die Hälfte dieser Zeit mit dem Verarbeiten von DPCs (d. h. "Prozessor\DPC-Zeit > 50"), lässt sich die Systemleistung durch das Hinzufügen eines Adapters wahrscheinlich verbessern (sofern die verfügbare Netzwerkbandbreite nicht bereits ausgeschöpft ist).

Wenn eine Anwendung die Hauptursache darstellt, sind DPCs wahrscheinlich durch eine Anwendung blockiert. Diese Anwendung wiederum hat einen Aufruf ausgegeben, dessen Ausführung beträchtliche Zeit in Anspruch nimmt. In dieser Zeit werden DPCs blockiert und in eine Warteschlange eingereiht. Zur Ermittlung der spezifischen Anwendung, die die Hauptursache für das Leistungsproblem darstellt, sind erweiterte Leistungsüberwachungs-, Ablaufverfolgungs- und Diagnoseverfahren erforderlich.

Element properties:

TargetMicrosoft.Windows.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameProcessor Information
Counter Name\% DPC Time
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Gesamt-DPC-Zeit (\%) zu hoch
Der Schwellenwert für den Leistungsindikator „Prozessorinformationen\DPC-Zeit (\%)\_Total“ wurde überschritten.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% DPC Time</CounterName>
<ObjectName>Processor Information</ObjectName>
<InstanceName>_Total</InstanceName>
<Frequency>120</Frequency>
<Threshold>95</Threshold>
<Direction>greater</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>