DPC-Zeit (\%) insgesamt

Microsoft.Windows.Client.2000.OperatingSystem.TotalDPCTime (UnitMonitor)

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

Knowledge Base article:

Zusammenfassung

Der Wert für „DPC-Zeit (%)“ (Prozessor\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. Ist der Wert für „DPC-Zeit (%)“ durchgängig hoch, ist dies 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:

Vergleichen Sie für jede Prozessorinstanz die Werte der Indikatoren „Interruptzeit (%)“ und „DPC-Zeit (%)“ mit „Prozessor\Prozessorzeit (%)“.

Wenn für einen Prozessor der Wert von Prozessorzeit (%) ständig über 85 % liegt und der Prozessor außerdem über 15 % dieser Zeit mit dem Verarbeiten von Interrupts und/oder DPCs verbringt, bildet 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 „% Prozessorzeit“ durchgängig unter 85 % liegt und der Prozessor zudem mehr als 15 % dieser Zeit mit dem Verarbeiten von Interrupts und/oder DPCs verbringt, ist die geringere Leistung mit hoher Wahrscheinlichkeit auf ein Anwendungs- oder Hardwareproblem zurückzuführen.

Falls ein Hardwaregerät die Ursache darstellt, bemerkt der Administrator über eine kurze Zeiträume 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. „Prozessor\ 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 die Ursache der verminderten Systemleistung eine Anwendung ist, werden häufig DPCs durch eine Anwendung blockiert, weil die Anwendung einen Aufruf ausgegeben hat, dessen Ausführung beträchtliche Zeit in Anspruch nimmt. In dieser Zeit werden DPCs blockiert und in eine Warteschlange eingereiht. Um die Anwendung zu ermitteln, die das Problem verursacht, sind erweiterte Leistungsüberwachungs-, Ablaufverfolgungs- und Diagnoseverfahren erforderlich.

Element properties:

TargetMicrosoft.Windows.Client.2000.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameProcessor
Counter Name\% DPC Time
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.AverageThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Gesamt-DPC-Zeit (\%) zu hoch
Der Schwellenwert für den Leistungsindikator „Prozessor\DPC-Zeit (\%)\_Total“ wurde überschritten. Folgender Wert hat den Schwellenwert überschritten: {0}.
RunAsDefault

Source Code:

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