Show TOC

Analyseparameter für Speicherbelegung einstellenLocate this document in the navigation structure

Verwendung

Wenn Sie Ihre Profiling-Sitzung konfigurieren, können Sie verschiedene Analysen zur Speicherbelegung der Anwendung vornehmen.

Weitere Informationen: Neue Sitzung anlegen und starten

Vorgehensweise

Folgende Analysen bezüglich der Speicherbelegung können Sie einstellen. Welche Eigenschaften Ihrer Anwendung die verschiedenen Funktionen ermitteln, finden Sie unter Grundkonzepte und Funktionen.

Registerkarte Speicher 1:

  • Objektallokation

  • Klassenstatistik

  • Referenzketten

  • VM-lokale Garbage Collection

  • Shared Garbage Collection

Registerkarte Speicher 2:

  • Shared Closure-Operationen

Die meisten Analysen haben weitere Filterparameter, die die Datensammlung auf bestimmte Objekte bzw. die Menge der Daten einschränken. Diese Filter sind:

  • Trace aktiv: Mit diesem Ankreuzfeld wird die jeweilige Analyse eingeschaltet.

  • Klassenfilter: Das Eingabefeld erlaubt, die zu sammelnden Daten - ggf. mit Hilfe von Wildcard-Zeichen und logischen Ausdrücken - auf eine bzw. mehrere bestimmte Klassen oder Pakete zu beschränken. Eine einzelne Klasse würde man direkt durch Eingabe des Namens spezifizieren. Für die Eingabe von mehreren Klassen oder (Teil-)Paketen kann man sich über die Wertehilfetaste ein Popup anzeigen lassen, worin man die gewünschten Klassen nacheinander eingeben kann. Der logische Ausdruck wird automatisch gebildet. Die F1-Hilfe zum Eingabefeld erklärt ausführlich die verwendete Syntax der Klassennamen und logischen Verknüpfungen.

  • Stack Frames: Wenn zu den Analysedaten die Ausgabe einer Methodenlokation gehört, so wird diese in Form eines Java-Stack Dumps gespeichert. Mit dieser Zahl n kann man die Speicherung des Java-Stacks auf die obersten n Frames beschränken und somit Speicherplatz und Auswertezeit sparen. Der Default-Wert 9.999 sollte in der Regel ausreichen, dass der komplette Stack geliefert wird. Eine Beschränkung ist natürlich nur dann sinnvoll, wenn man sicher sein kann, die Aufrufstelle in der Anwendung anhand der oberen n Frames eindeutig identifizieren zu können.

  • Intervall (bei Klassenstatistik): Mit diesem Wert spezifiziert man die Altersgruppen, in die die Objekte beim Erheben der Klassenstatistik (s. o.) eingeteilt werden. Der Default-Wert ist 5 und besagt, dass die Objekte in Gruppen eingeteilt werden, die 1-5, 6-10, 11-15 usw. Garbage Collections "überlebt" haben, d.h. danach noch referenziert wurden. Je kleiner der Wert, desto genauer kann man die Lebensdauer der Objekte bestimmen, aber desto mehr Analysedaten fallen auch an.

  • Shared Closure Roots anzeigen (bei Referenzketten): Wenn man dieses Flag einschaltet, umfasst die Referenzkette von Objekten, die auf ein "verteiltes" Objekt (Shared Object) referenzieren, auch die Referenzen innerhalb der Shared Closure, in der das Shared Object liegt.

  • Operation (bei Shared Closure Operationen): Abhängig von den Schaltern

    • Anlegen (Create)

    • Kopieren (Copy)

    • Einblenden (Map)

    • Löschen (Delete)

    werden die betreffenden Operationen bei den Shared Closures aufgezeichnet.

  • Sharing Domain Name (bei Shared Closure Operationen): Hier können die Namen - ggf. mit Wildcard-Zeichen - von Shared Closure Domains angegeben werden, die beim Datensammeln berücksichtigt werden sollen (Positivliste). Ist die Liste leer, werden alle Shared Closures Domains berücksichtigt. Andernfalls wird ein einfacher Vergleich auf Gleichheit des Namensanfangs gemacht.

    Beispiel

    Filter '/a': Es werden die Closures z.B. in den Domains '/a', '/ab' oder '/abc/def' geliefert, nicht aber die aus der Root-Domain '/'.

    Filter '/': Die Root-Domain '/' hat eine Sonderstellung. Bei dieser Filtereinstellung werden ausschließlich die Shared Closures in der Root-Domain geliefert, nicht aber die Closures z.B. in der Domains '/a' oder '/xy'.