Auslastungsansicht

In der Auslastungsansicht werden Informationen zur CPU, zur GPU sowie zu anderen Systemressourcen angezeigt, die vom aktuellen Prozess beansprucht werden (wählen Sie Analysieren>Nebenläufigkeitsschnellansicht aus, um die Nebenläufigkeitsschnellansicht zu starten). Hier wird die durchschnittliche Kernauslastung durch den analysierten Prozess, den Leerlaufprozess, den Systemprozess und andere Prozesse angezeigt, die auf dem System im Verlauf der Zeit ausgeführt werden. Es wird jedoch nicht angezeigt, welcher Kern zu einem bestimmten Zeitpunkt aktiv ist. Wenn beispielsweise zwei Kerne mit einer Kapazität von 50% während eines bestimmten Zeitraums aktiv sind, zeigt diese Ansicht einen logischen Kern, der verwendet wird. Die Ansicht wird generiert, indem die Profilerstellungszeit in kurze Zeitsegmente unterteilt wird. Für jedes Segment wird im Diagramm die durchschnittliche Anzahl von Prozessthreads ausgegeben, die während des Intervalls auf logischen Kernen ausgeführt werden.

CPU Utilization View

Im Diagramm werden die Zeit (auf der x-Achse) und die durchschnittliche Anzahl der logischen Kerne angezeigt, die vom Zielprozess, vom Leerlaufprozess sowie vom Systemprozess verwendet werden. (Vom Leerlaufprozess werden Kerne im Leerlaufprozess angezeigt. Beim Systemprozess handelt es sich um einem Prozess in Windows, von dem Aufgaben für andere Prozesse ausgeführt werden können.) Die verbleibenden Prozesse, die unter dem Systemkonto zur Auslastung aller verbleibenden Kerne ausgeführt werden.

Die Anzahl der logischen Kerne wird auf der y-Achse angezeigt. Die Hardwareunterstützung von simultanem Multithreading (beispielsweise Hyper-Threading) wird von Windows wie logische Kerne behandelt. Deshalb wird ein System mit einem Prozessor mit vier Kernen, bei dem jeweils zwei Hardwarethreads pro Kern unterstützt werden, als System mit acht logischen Kernen angezeigt. Dies gilt auch für die Kernansicht. Weitere Informationen finden Sie unter Cores View (Kernansicht).

Im GPU-Aktivitätsdiagramm wird die Anzahl der im Verlauf der Zeit genutzten DirectX-Engines angezeigt. Eine Engine ist aktiv, wenn ein DAM-Paket verarbeitet wird. Im Diagramm werden keine bestimmten DirectX-Engines (z.B. 3D-Engine, Video-Engine und andere Engines) angezeigt.

Zweck

Die Auslastungsansicht ist der empfohlene Ausgangspunkt für Leistungsuntersuchungen mit der Nebenläufigkeitsschnellansicht. Hier steht eine Übersicht über den Parallelitätsgrad der Anwendung im Zeitverlauf zur Verfügung, wodurch sich schnell Bereiche ermitteln lassen, die eine Leistungsoptimierung oder Parallelisierung erfordern.

Wenn Sie sich für die Leistungsoptimierung interessieren, können Sie Verhaltensweisen ermitteln, die sich von Ihren Erwartungen unterscheiden. Auch können Sie nach Bereichen mit geringer Auslastung der logischen CPU-Kerne sowie nach der Ursache hierfür suchen. Zudem können Sie bei CPU und GPU nach Auslastungsmustern suchen.

Wenn Sie an der Parallelisierung einer Anwendung interessiert sind, suchen Sie in der Regel entweder nach CPU-gebundenen Ausführungsbereichen oder nach Bereichen, in denen die CPU nicht genutzt wird.

CPU-gebundene Bereiche werden grün dargestellt. Im Diagramm wird die Nutzung eines einzelnen Kerns angezeigt, wenn es sich um eine serielle Anwendung handelt.

Bereiche ohne CPU-Nutzung werden grau dargestellt. Hierbei kann es sich um Punkte handeln, an denen sich die Anwendung im Leerlauf befindet oder eine blockierende E/A ausgeführt wird, durch die sich Möglichkeiten zur Parallelisierung aufgrund einer Überschneidung mit anderen CPU-gebundenen Aufgaben ergeben.

Wenn Sie ein relevantes Verhalten ermittelt haben, können Sie die Ansicht der entsprechenden Region vergrößern, indem Sie sie auswählen. Nach dem Vergrößern können Sie zur Threadansicht oder zur Kernansicht wechseln, um eine ausführlichere Analyse vorzunehmen.

Wenn Sie die GPU mithilfe von C++ AMP oder DirectX verwenden, möchten Sie möglicherweise die Anzahl der ausgelasteten GPU-Engines oder die Bereiche ermitteln, in denen sich die GPU unerwartet im Leerlauf befindet.

Zoom

Wählen Sie zum Vergrößern der Ansicht des CPU-Auslastungsdiagramms oder des GPU-Aktivitätsdiagramms einen Abschnitt aus oder verwenden Sie den Zoomschieberegler über dem Diagramm. Die Zoomeinstellung bleibt erhalten, wenn Sie zu anderen Ansichten wechseln. Wenn Sie die Ansicht wieder verkleinern möchten, verwenden Sie den Zoomschieberegler. Alternativ können Sie auch durch STRG+Scrollen Zoomen.

CPU-Auslastungsdiagramm

Das CPU-Auslastungsdiagramm veranschaulicht den Grad der Auslastung in einer App im Zeitverlauf. Die x-Achse stellt die Dauer der Ablaufverfolgung dar, die y-Achse die Anzahl der logischen Kerne im System. Im Diagramm ist nicht ersichtlich, welcher bestimmte Kern zu einem bestimmten Zeitpunkt aktiv ist. Wenn beispielsweise zwei Kerne mit einer Kapazität von 50% während eines bestimmten Zeitraums aktiv sind, zeigt diese Ansicht einen logischen Kern, der verwendet wird.

Farben des CPU-Auslastungsdiagramms

  • Grün zeigt die Auslastung der logischen Kerne im System durch den aktuellen Prozess an.

  • Hellgrau zeigt die Auslastung der logischen Kerne durch andere Prozesse im System an. Ein hoher hellgrauer Anteil im CPU-Diagramm zeigt, dass das System durch andere Prozesse stark ausgelastet ist und dass diese wahrscheinlich Vorrang vor Ihrem Prozess haben. Zur Verringerung der Auslastung logischer Kerne durch andere Prozesse reduzieren Sie die Anzahl der im System ausgeführten Prozesse.

  • Dunkelgrau gibt die Auslastung der logischen Kerne durch den Systemprozess an. Dies können Sie nicht direkt steuern. Allerdings sollten Sie wissen, wann es dazu kommt, da die Verfügbarkeit logischer Kerne für den Prozess beeinträchtigt werden kann.

  • Weiß gibt die Verfügbarkeit nicht verwendeter logischer Kerne im System an. Solche Kerne sind für den Prozess verfügbar, wenn Sie mehr Möglichkeiten für eine parallele Nutzung finden.

Durchschnittliche CPU-Auslastung

Zeigt die durchschnittliche Auslastung der logischen Kerne des Systems durch den Prozess während seiner gesamten Dauer. Im Diagramm ist nicht ersichtlich, welcher bestimmte Kern zu einem bestimmten Zeitpunkt aktiv ist. Wenn beispielsweise zwei Kerne mit einer Kapazität von 50 % während eines bestimmten Zeitraums ausgeführt werden, zeigt diese Ansicht einen logischen Kern, der verwendet wird.

Zoomsteuerelement (Auslastungsansicht)

Mit dem Zoomsteuerelement können Sie das CPU-Auslastungsdiagramm vergrößern, um den Fokus auf Bereiche von besonderem Interesse zu legen. Dieses Steuerelement vergrößert den Mittelpunkt der Ansicht. Daher sollten Sie den gewünschten Bereich zentrieren, bevor Sie vergrößern.

Sie können den Mauszeiger im CPU-Auslastungsdiagramm oder GPU-Aktivitätsdiagramm ziehen, um einen hervorgehobenen Bereich zu erstellen. Wenn Sie die Maustaste loslassen, wird die Ansicht des ausgewählten Bereichs vergrößert.

GPU-Aktivitätsdiagramm

Das GPU-Aktivitätsdiagramm in der Parallelitätsschnellansicht zeigt die Ebene der DirectX-Aktivität auf dem System durch die Anzahl der DirectX-Engines an, die mit der Zeit verwendet werden. Im Diagramm wird nicht angezeigt, welche bestimmte Engines verwendet wurden. Eine Engine wird als „verwendet“ betrachtet, wenn sie GPU-Aufgaben verarbeitet.

Farben im GPU-Aktivitätsdiagramm

Grün zeigt den Verbrauch von DirectX-Engines durch den aktuellen Prozess an.

Hellgrau zeigt den Verbrauch von DirectX-Engines durch andere Prozesse im System an. Um den Verbrauch von DirectX-Engines durch andere Prozesse zu reduzieren, verringern Sie die Anzahl von anderen im System ausgeführten Prozessen.

Weiß zeigt die Verfügbarkeit der nicht verwendeten DirectX-Engines im System an. Diese Engines sind für Ihren Prozess verfügbar, wenn Sie weitere Möglichkeiten finden, um sie auszunutzen. Einige Engines können nur für bestimmte Arten von Aufgaben verwendet werden.

GPU-Aktivität (Paging)

Die Segmente der GPU-Aktivität (Paging) in der Registerkarte Threads stellen Zeiten dar, zu denen die GPU Paging-Anforderungen verarbeitet hat. Die Länge eines Segments stellt den Zeitraum dar, in dem die GPU ein DMA-Paging-Paket (direkter Speicherzugriff) verarbeitet hat. In der Regel werden Paging-Pakete mit der Übertragung von Arbeitsspeicher zwischen CPU und GPU zugeordnet.

Wenn Sie ein Segment des GPU-Paging auswählen, zeigt der Bericht in der Registerkarte Aktuelle Informationen über das verarbeitete DMA-Paket an. Dies umfasst die Zeitspanne, in der das Paket in der Hardware-Warteschlange gewartet hat, die mit der DirectX-Engine – der Prozess, der das DMA-Paket gesendet hat – und der Zeit, die zum Verarbeiten des Pakets benötigt wird, verbunden wird.

GPU-Aktivität (dieser Prozess)

Die Segmente der GPU-Aktivität (dieser Prozesse) in der Threads-Ansicht des Concurrency Visualizer stellen Zeiten dar, in denen die GPU Anforderungen im Auftrag des aktuellen Prozesses verarbeitet hat. Diese Anforderungen werden an die GPU als DMA-Pakete (direkter Speicherzugriff) gesendet. Die Segmentlänge entspricht der Zeit, in der die GPU ein DMA-Paket im Namen des aktuellen Prozesses bearbeitet hat.

Wenn Sie das Segment der GPU-Aktivität auswählen, zeigt der Bericht in der Registerkarte Aktuelle Informationen über das verarbeitete DMA-Paket an. Diese Information umfasst die Zeitspanne, in der das Paket in der Hardware-Warteschlange gewartet hat, die mit der DirectX-Engine – der Prozess, der das Paket gesendet hat – und der Zeit, die zum Verarbeiten des Pakets benötigt wurde, verbunden wird. Ein anderen Prozess als der Aktuelle hat vielleicht das DMA-Paket physisch an die GPU gesendet. Der Concurrency Visualizer kann erkennen, wenn ein anderer Prozess Arbeit im Namen des aktuellen Prozesses an die GPU übermittelt.

GPU-Aktivität (andere Prozesse)

Die Segmente der GPU-Aktivität (andere Prozesse) in der Threads-Ansicht von Concurrency Visualizer stellen Zeiten dar, in denen die GPU Anforderungen im Auftrag von anderen Prozessen im System verarbeitet hat. Diese Anforderungen werden an die GPU als DMA-Pakete (direkter Speicherzugriff) gesendet. Die Länge eines Segments stellt die Zeitspanne dar, in der das Paket von der GPU verarbeitet wurde.

Wenn Sie diese Segmentart auswählen, zeigt der Bericht in der Registerkarte Aktuell Informationen über das verarbeitete Paket an. Die Information umfasst die Zeitspanne, in der das Paket in der Hardware-Warteschlange gewartet hat, die mit der DirectX-Engine – der Prozess, der das Paket gesendet hat – und der Zeit, die zum Verarbeiten des Pakets benötigt wurde, verbunden wird.