Ressourcenintensive Methoden identifizieren
In den folgenden Fällen kann es sinnvoll sein, eine Methode zu optimieren:
- die Methode wird häufiger aufgerufen, als es nötig ist. Das Leistungsverhalten
kann verbessert werden, indem die Methode entweder seltener aufgerufen wird, oder
Verbesserungen an der Methode selbst vorgenommen werden.
- die Methode hat eine lange Ausführungszeit. Alternativ kann das Leistungsverhalten
verbessert werden, indem Sie die Klassen mit der längsten Ausführungszeit identifizieren, und dann
die Methoden optimieren, die lange auf dem Stack verweilen. Derartige Methoden müssen sich nicht
zwangsläufig in der Ausführung befinden, sondern rufen möglicherweise andere Methoden für Sortierungs- oder
Delegationsaufgaben auf.
So finden Sie häufig aufgerufene Methoden:
- Stellen Sie sicher, dass die Erfassung von Informationen zum Ausführungsablauf beim
Starten oder Anhängen an die Anwendung aktiviert wurde. Wählen Sie die Profiloption
Die Anwendung ist zu langsam aus, und wählen Sie anschließend in den Detailoptionen
die Option Grafische Details zum Ausführungsablauf anzeigen aus.
- Wählen Sie einen Monitor oder einen Agenten in der Sicht 'Profilmonitor' aus.
- Klicken Sie mit der rechten Maustaste, und wählen Sie dann die Option Öffnen mit > Ausführungsablauf aus.
Die Sicht 'Ausführungsablauf' wird geöffnet.
- Klicken Sie auf die Schaltfläche Vergrößern
zum Vergrößern einer Methodenaufrufreihenfolge.
- Klicken Sie mit der rechten Maustaste und wählen Sie dann Alle Wiederholungen erfassen. Die Stellen, an denen sich bestimmte Muster wiederholen, werden mit X markiert.
- Vergrößern Sie einen solchen Bereich, um die Wiederholungsmuster und die Anzahl der Wiederholungen einer Methode anzuzeigen.
So finden Sie Methoden mit einer langen Ausführungszeit:
- Starten Sie einen Prozess oder hängen Sie einen Prozess für eine bestimmte Ressource an, und öffnen Sie dann die Sicht
'Ausführungsablauf'.
Hinweis: Sie können die Sicht vom Agenten, Prozess, Host oder Monitor aus öffnen.
Die Informationen für diese Ressourcen sind jedoch sehr unterschiedlich.
Beispielsweise wird in der Sicht 'Ausführungsablauf' eines Agenten die Ausführung der JVM
(Java Virtual Machine) angezeigt, an die der Agent angehängt ist. Im Gegensatz dazu wird in dieser
Sicht für einen Monitor die Ausführung aller JVMs angezeigt, die Profilerstellungsagenten unter
dem ausgewählten Monitor besitzen.
- Beachten Sie die Länge des Streifens der einzelnen Methoden. Je länger der Streifen, desto länger die Ausführungszeit.
- Um weitere Details zu einer Methode anzuzeigen, öffnen Sie die Sicht Methodenstatistiken, wählen Sie die Methode aus,
klicken Sie mit der rechten Maustaste und wählen Sie dann die Option Methodenaufruf anzeigen aus.
- Klicken Sie zum Anzeigen der Ausführungszeit des Methodenaufrufers mit der rechten Maustaste, und wählen Sie dann die Option Methodenaufruf anzeigen aus.
Diese Sicht enthält eine Darstellung der Methode in Form einer beschrifteten Zeile.
- Klicken Sie in der lokalen Funktionsleiste auf Aufrufer anzeigen
, um die
Aufrufer der ausgewählten Methode in der Sicht darzustellen. Bei jedem Klick auf diese Schaltfläche wird die jeweils nächsthöhere
Methode in der Aufrufreihenfolge angezeigt.
- Wählen Sie eine Methode aus. Die vertikale Länge des markierten Bereichs deutet auf die Basiszeit
der Methode hin. Sie können die Ausführungszeit dieser Methode anhand der vertikalen Zeitskala auf der rechten
Seite der Sicht bestimmen. Die Statuszeile enthält die kumulierte Zeit für die Methode.
So bekommen Sie ein breiteres Bild von der Ausführungszeit:
- Öffnen Sie die Sicht 'Ausführungsablauf': Wählen Sie im Kontextmenü des Monitors in der Sicht
'Profilmonitor' die Optionen Öffnen mit > Ausführungsablauf aus.
- In dieser Sicht steht im rechten Bereich, wie in der Sicht 'Methodenaufruf', eine vertikale Zeitskala zur Verfügung.
- Verwenden Sie die Schaltfläche Vergrößern
, um
einen gewünschten Bereich zu vergrößern und die Methode zu markieren, die Sie untersuchen möchten.
- Klicken Sie auf einen Methodennamen (oder auf den Leerraum darunter), um die Methode auswählen. Die vertikale Länge des hervorgehobenen Bereichs
deutet auf die Basiszeit der Methode hin. Den genauen Wert der Basiszeit sehen Sie in der Statuszeile.
- Verwenden Sie die Schaltfläche Verkleinern
, um einen
größeren Abschnitt des gesamten Programms anzusehen, während der hervorgehobene Bereich der Methode weiterhin sichtbar bleibt (der Bereich mit dem gelben Rechteck bleibt sichtbar).
Wenn die Darstellung der Ausführung auch nicht vollständig sichtbar bleibt, können Sie dennoch feststellen, wie viel Zeit eine Methode im Verhältnis zur gesamten Anwendung verbraucht.
Verwandte Konzepte
Übersicht zum Profilerstellungstool
Sicht und Tabelle 'Ausführungsablauf'
Statistische Sichten
Verwandte Tasks
Erstellen eines Anwendungsprofils
Einen Java-Prozess starten oder anhängen
Garbage-Collection untersuchen
Übersicht zur Analyse von Leistung und Speicherbelegung
(C) Copyright IBM Corporation 2000, 2003. Alle Rechte vorbehalten.