Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die Cores-Ansicht zeigt, wie die Threadausführung den logischen Prozessorkernen zugeordnet wurde (wählen Sie "> analysieren" aus, um die Parallelitätsschnellansicht zu starten). Wenn Sie Serveranwendungen schreiben, kann diese Ansicht Ihnen helfen, die Cacheleistung mithilfe von Threadaffinität oder Threadpoolverwaltung zu optimieren. Es kann Ihnen auch helfen, Fälle zu untersuchen, in denen die Verwendung von Threadaffinität das Problem der kernübergreifenden Migration verschlechtert haben könnte. Die Kernansicht verfügt über zwei Teile, ein Diagramm und eine Legende.
Das Diagramm zeigt logische Kerne auf der Y-Achse und die Zeit auf der X-Achse. Jeder Thread im Diagramm verfügt über eine eindeutige Farbe, sodass Sie ihre Bewegung über kerne im Laufe der Zeit nachverfolgen können. Sie können die Threads in diesem Diagramm filtern, indem Sie sie im Legendenbereich auswählen.
Der Legendenbereich weist einen Eintrag für jede Farbe im Diagramm auf. Jeder Eintrag zeigt die Threadfarbe und den Namen, die Anzahl der kernübergreifenden Kontextschalter, die Gesamtanzahl der Kontextoptionen und den Prozentsatz der Kontextschalter, die kernübergreifend sind. Die Legende wird nach der Anzahl der kernübergreifenden Kontextwechsel in absteigender Reihenfolge sortiert. Sie listet nur die Threads auf, die während des angezeigten Zeitraums ausgeführt werden. Die Liste wird aktualisiert, wenn Sie zoomen oder schwenken.
Legende der Kernansicht
Die Legende "Kernansicht" identifiziert jeden Thread nach Farbe und Name. Sie enthält Spalten, die die Anzahl der kernübergreifenden Kontextschalter, gesamter Kontextoptionen und den Prozentsatz der Kontextoptionen anzeigen, die Kerne überschreiten. Zeilen in der Legende werden nach der Anzahl der kernübergreifenden Kontextwechsel sortiert, in absteigender Reihenfolge.
Sie können Zeilen in der Legende auswählen, um die Threads zu filtern, die in der Zeitachse angezeigt werden. Nur die ausgewählten Threads werden in der Zeitachse angezeigt. Wenn keine Zeilen ausgewählt sind, werden alle Zeilen in der Zeitachse angezeigt.
Cross-Core-Kontextschalter kosten mehr Aufwand und Leistung als Switches, die auf demselben logischen Kern verbleiben. Bei Kontextwechseln werden die Prozessorregister gespeichert und wiederhergestellt, der Kernelcode des Betriebssystems ausgeführt, die Übersetzungs-Lookaside-Puffereinträge werden neu geladen, und die Prozessorpipeline wird geleert. Kernübergreifende Kontextoptionen können sogar teurer sein als andere Kontextoptionen, da die Cachedaten für diesen Thread auf einem anderen Kern nicht gültig sind. Im Gegensatz dazu ist es wahrscheinlich, dass sich die nützlichen Daten noch im Cache befinden, wenn ein Thread auf den Prozessorkern umgeschaltet wird, auf dem er zuvor lief. Wenn kernübergreifende Kontextwechsel durch Versuche zur Verwaltung der Threadaffinität zunehmen und die Leistung abnimmt, sollten Sie in Erwägung ziehen, dieses Problem zu beheben. Beginnen Sie damit, die Thread-Affinität zu beseitigen, und beobachten Sie dann das resultierende kernübergreifende Verhalten.
In der folgenden Tabelle werden die Legendenelemente beschrieben.
| Element | Definition |
|---|---|
| Thread-Name | Zeigt die Farbe des Threads in der Zeitleiste der vorherigen Kerne und den Namen dieses Threads an. |
| Kernübergreifende Kontextwechsel | Die Anzahl der Kontextwechsel für einen Thread, der von einem logischen Kern zu einem anderen gewechselt ist. Es unterscheidet nicht zwischen Cross-Core-Kontextwechseln, die von einem Prozessor-Dice zu einem anderen wechseln, und denen, die auf demselben Chip bleiben. |
| Gesamte Kontextwechsel | Die Gesamtanzahl der Kontextwechsel für einen bestimmten Thread während des Samplingzeitraums. Jedes Mal, wenn ein Thread den Kontext ändert (z. B. von der Ausführung zur Synchronisierung), wird ein Kontextwechsel gezählt. |
| Prozentsatz der Kontextschalter, die kernübergreifend sind | Berechnet als Prozentsatz, indem die Anzahl der kernübergreifenden Kontextwechsel durch die Gesamtanzahl der Kontextwechsel geteilt wird. Je höher dieser Prozentsatz ist, desto höher ist der Gesamteffekt des Mehraufwands von Cross-Core-Kontextschaltern auf die Leistung dieses bestimmten Threads. |
Zeitachse der Kernansicht
Jede Zeile auf der Zeitachse stellt einen logischen Prozessorkern im profilierten System dar. Für jede Zeile zeigt die horizontale Achse an, welcher Thread zu einem bestimmten Zeitpunkt auf einem logischen Kern ausgeführt wurde. Sie können mit dem Mauszeiger auf eine interessante Farbe in einer Zeitachse zeigen, um einen Tooltip anzuzeigen, der den Thread identifiziert. Zur Unterstützung bei der Threadidentifikation zeigt die Legende unten im Fenster an, was jede Farbe darstellt. Verwenden Sie das Zoom-Werkzeug, um hinein- und herauszuzoomen, indem Sie klicken und ziehen oder die STRG-Taste drücken und das Mausrad bewegen. Die Zoomkonsistenz wird beibehalten, wenn Sie zwischen der Cores-Ansicht und der Threads-Ansicht wechseln.
Ansicht logischer Kerne
Jeder Kanalname stellt einen der logischen Kerne dar, die im profilierten System vorhanden sind. Die Nummerierung zählt von 0 bis zur Gesamtzahl der logischen Kerne. Ein Vierkernsystem zählt z. B. von logischem Kern 0 bis zum logischen Kern 3.
Cores View Zoom Tool
Das Zoom-Steuerelement ist ein Schieberegler, mit dem Sie die Zeitachse vergrößern und verkleineren können, sodass Sie sich auf Bereiche von besonderem Interesse konzentrieren können. Diese Steuerung zoomt auf das Zentrum der aktuellen Ansicht. Passen Sie die Ansicht daher an, bevor Sie hineinzoomen.
Weitere Möglichkeiten zum Zoomen
Vergrößern: Ziehen Sie, um einen Bereich in der Zeitachsenansicht auszuwählen. Wenn Sie die Maustaste loslassen, vergrößert sich die Zeitachsenansicht im ausgewählten Bereich.
Vergrößern und Verkleineren: Zeigen Sie mit der Maus auf die Zeitachse, und drücken Sie dann STRG , während Sie das Mausrad bewegen.