Kernansicht

Die Kernansicht zeigt, wie die Threadausführung den logischen Prozessorkernen zugeordnet wurde (wählen Sie Analysieren>Nebenläufigkeitsschnellansicht aus, um die Nebenläufigkeitsschnellansicht zu starten). Beim Schreiben von Serveranwendungen kann diese Ansicht nützlich sein: Optimieren Sie die Cacheleistung, indem Sie Threadaffinität oder Threadpoolverwaltung einsetzen. Manchmal kann sich auch die Prüfung von Fällen als hilfreich erweisen, in denen die Verwendung von Threadaffinität das Problem kernübergreifender Migration noch verstärkt hat. Die Kernansicht verfügt über zwei Komponenten: ein Diagramm und eine Legende.

Das Diagramm bildet logische Kerne auf der y-Achse und die Zeit auf der x-Achse ab. Jeder Thread im Diagramm hat eine eindeutige Farbe, damit Sie seine Bewegung durch Kerne im zeitlichen Verlauf verfolgen können. Sie können die Threads in diesem Diagramm filtern, indem Sie sie im Legendenbereich auswählen.

Der Legendenbereich enthält einen Eintrag für jede Farbe im Diagramm. Jeder Eintrag zeigt die Threadfarbe und den Threadnamen, die Anzahl der kernübergreifenden Kontextwechsel, die Gesamtzahl der Kontextwechsel und den Prozentsatz der Kontextwechsel, die durch Kerne verlaufen. Die Legende ist nach der Anzahl der kernübergreifenden Kontextwechsel in absteigender Reihenfolge angeordnet. Sie enthält nur jene Threads, die während des angezeigten Zeitraums ausgeführt wurden. Die Liste wird aktualisiert, wenn Sie zoomen oder schwenken.

Legende der Kernansicht

Die Legende der Kernansicht identifiziert jeden Thread durch Farbe und Namen. Sie enthält folgende Spalten: Anzahl der kernübergreifenden Kontextwechsel, Gesamtzahl der Kontextwechsel und Prozentsatz der Kontextwechsel, die durch Kerne verlaufen. Die Legende ist nach der Anzahl der kernübergreifenden Kontextwechsel in absteigender Reihenfolge angeordnet.

Sie können in der Legende Zeilen auswählen, um Threads zu filtern, die auf der Zeitachse angezeigt werden. Nur die ausgewählten Threads werden auf der Zeitachse angezeigt. Wenn keine Zeilen ausgewählt sind, werden alle Zeilen auf der Zeitachse angezeigt.

Kernübergreifende Kontextwechsel erfordern mehr Verwaltungsaufwand und sind leistungsintensiver als Wechsel, die auf dem logischen Kern verbleiben. Während der Kontextwechsel werden die Prozessorregister gespeichert und wiederhergestellt. Der Betriebssystem-Kernelcode wird ausgeführt, die Übersetzungslookaside-Puffereinträge werden neu geladen, und die Prozessorpipeline wird geleert. Kernübergreifende Kontextwechsel können sogar teurer als andere Kontextwechsel sein, da die Cachedaten für diesen Thread auf einem anderen Kern ungültig sind. Bei einem Thread hingegen, für den der Kontextwechsel auf dem Kern erfolgt, auf dem er zuvor ausgeführt wurde, sind die nützlichen Daten wahrscheinlich immer noch im Cache vorhanden. Die Anzahl kernübergreifender Kontextwechsel kann aufgrund von Versuchen, die Threadaffinität zu verwalten, zunehmen. Wenn die Leistung zudem beeinträchtigt ist, sollten Sie sich um eine Lösung bemühen. Beginnen Sie damit, die Threadaffinität zu beseitigen, und beobachten Sie, wie sich das kernübergreifende Verhalten daraufhin verändert.

In der folgenden Tabelle werden die Legendenelemente beschrieben.

Element Definition
Thread Name Zeigt die Farbe des Threads auf der Zeitachse der vorherigen Kerne sowie den Namen des Threads
Kernübergreifende Kontextwechsel Die Anzahl der Kontextwechsel für einen Thread, der zudem von einem logischen Kern zu einem anderen umgeschaltet hat. Dabei wird nicht zwischen kernübergreifenden Kontextwechseln unterschieden, die von einem Prozessorwürfel zu einem anderen wechseln, und jenen, die auf dem gleichen Würfel bleiben.
Gesamte Kontextwechsel Die Gesamtzahl der Kontextwechsel für einen angegebenen Thread während des Samplingzeitraums. Jede Kontextänderung eines Threads (z.B. von der Ausführung zur Synchronisierung) entspricht einem Kontextwechsel.
Prozentualer Anteil der Kontextwechsel, die durch Kerne verlaufen Dieser Anteil wird als Prozentsatz ausgedrückt und entsteht dadurch, dass die Anzahl der kernübergreifenden Kontextwechsel durch die Gesamtzahl der Kontextwechsel dividiert wird. Je höher der Prozentsatz, desto stärker wirkt sich der Aufwand der kernübergreifenden Kontextwechsel auf die Leistung dieses speziellen Threads aus.

Zeitachse in der Kernansicht

Jede Zeile auf der Zeitachse stellt einen logischen Prozessorkern für das Systemprofil dar. Für jede Zeile wird auf der horizontalen Achse dargestellt, welcher Thread zu einem bestimmten Zeitpunkt auf einem logischen Kern ausgeführt wurde. Wenn Sie mit der Maus auf eine beliebige Farbe auf der Zeitachse zeigen, wird eine QuickInfo mit Threadinformationen zurückgegeben. In der Legende im unteren Bereich des Fensters wird erläutert, wofür die verschiedenen Farben stehen. So können Sie die verschiedenen Threads identifizieren. Verwenden Sie das Zoomtool, um die Ansicht zu verkleinern bzw. zu vergrößern, indem Sie die Maustaste gedrückt halten und den Zeiger bewegen oder die STRG-Taste drücken und an dem Mausrad drehen. Die Konsistenz beim Zoomen bleibt gewahrt, wenn Sie zwischen der Kernansicht und der Threadansicht wechseln.

Logische Kerne in der Kernansicht

Jeder Kanalname steht für einen der logischen Kerne im System, für das ein Profil erstellt wurde. Bei der Benennung wird von 0 (null) bis zur Gesamtzahl der logischen Kerne gezählt. Bei einem System mit vier Kernen wird beispielsweise vom logischen Kern 0 (null) bis zum logischen Kern 3 gezählt.

Zoomtool in der Kernansicht

Das Zoomtool ist ein Schieberegler, mit dem Sie die Zeitachse vergrößern oder verkleinern können, um den Fokus auf besonders interessante Bereiche zu legen. Dieses Steuerelement zoomt auf die Mitte der aktuellen Ansicht, also sollten Sie diese vorher anpassen.

Weitere Möglichkeiten zum Zoomen

  • Vergrößern: Wählen Sie einen Bereich in der Zeitachsenansicht durch Ziehen aus. Wenn Sie die Maustaste loslassen, wird die Zeitachsenansicht des ausgewählten Bereichs vergrößert.

  • Vergrößern und verkleinern: Zeigen Sie auf die Zeitachse, und drücken Sie STRG, während Sie mit dem Mausrad scrollen.