Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Speicherabzüge anzeigen Dokument im Navigationsbaum lokalisieren

Im Einstiegsbild des Memory Inspectors kann durch Auswahl der Funktionen (t_0) anzeigen und (t_1) anzeigen ein als (t_0) oder (t_1) geöffneter Speicherabzug angezeigt werden. Im Anzeigebereich stehen einige Funktionen zur Verfügung.

 

Übersicht

In der Übersicht wird der Inhalt eines Speicherabzugs nach Objektarten geordnet dargestellt. Es werden für jede Objektart teilweise individuell verschiedene Werte angezeigt. Es gibt folgende Objektarten:

·        Programme

Initiale statische Speicheranforderung eines Programms. Diese umfasst den Speicherbereich der globalen Daten des Programms, wobei bei tiefen Datentypen in diesem Bereich pro Datenobjekt nur die Referenzen abgelegt sind.

·        Klassen

Initiale statische Speicheranforderung einer Klasse. Diese umfasst den Speicherbereich der statischen Attribute der Klasse ohne Konstanten, wobei bei tiefen Datentypen in diesem Bereich pro Datenobjekt nur die Referenzen abgelegt sind.

Dynamische Speicheranforderung einer Klasse, d.h. der Speicher, der von  tiefen statischen Attribute der Klasse und der Speicher der von Instanzen der Klasse belegt wird.

Unterhalb von Klassen können die Instanzen der Klasse mit ihrem Speicherbedarf angezeigt werden.

Unterhalb der Instanzen können die Referenzen, die auf eine Instanz zeigen angezeigt werden (inklusive Referenzen aus der internen Ereignisbehandlertabelle).

·        Tabellenrümpfe

Von internen Tabellen belegter dynamischer Speicherplatz. Für interne Tabellen, die nach einer Zuweisung geshared sind, existiert nur ein Tabellenrumpf. Es werden alle Tabellenrümpfe des internen Modus angezeigt. Direkt nach ihrer Erzeugung und nach Anwendung der Anweisung FREE haben interne Tabellen keinen Tabellenrumpf.

Unterhalb eines Tabellenrumpfs können die internen Referenzen auf einen Tabellenrumpf angezeigt werden. Auf einen Tabellenrumpf können mehrere Referenzen zeigen durch: Sharing nach Zuweisungen, Referenzübergabe an Prozeduren, Deklaration in Schnittstellen-Arbeitsbereichen (DATA ... COMMON PART).

Bei geschachtelten Tabellen wird der Speicherverbrauch der untergeordneten Tabellen dem Speicherverbrauch der übergeordneten Tabelle hinzugerechnet.

·        Strings

Von Strings belegter dynamischer Speicherplatz. Für Strings, die nach einer Zuweisung geshared sind, existiert nur ein Speicherbereich. Es werden alle Strings des internen Modus angezeigt. Leere Strings belegen keinen dynamischen Speicherbereich.

Unterhalb Strings können die internen Referenzen auf einen String angezeigt werden. Auf einen String können mehrere Referenzen zeigen durch: Sharing nach Zuweisungen, Referenzübergabe an Prozeduren, Deklaration in Schnittstellen-Arbeitsbereichen (DATA ... COMMON PART).

·        Typen anonymer Datenobjekte

Von anonymen Datenobjekten eines bestimmten Typs belegter dynamischer Speicherplatz.

Unterhalb der Typen werden die anonymer Datenobjekte selbst angezeigt.

Unterhalb eines anonymen Datenobjekts können die Referenzen, die auf das anonyme Datenobjekt zeigen angezeigt werden.

 

 

Rangliste

In der Rangliste wird der Inhalt eines Speicherabzugs sortiert nach dem Speicherverbrauch der enthaltenen Speicherobjekte angezeigt. Typartige Entitäten wie Klassen und Typen anonymer Speicherobjekte treten in dieser Liste nicht auf, sondern nur deren Instanzen. Ebenso werden in der Rangliste keine Programme aufgeführt.

Zu jedem Speicherobjekt werden die Werte gebundener allokierter, gebundener benutzter, referenzierter allokierter und referenzierter benutzter Speicher ausgegeben. Wenn ein Speicherobjekt Teil eines Objektzyklus (SZK) ist, wird der Gesamtspeicher des Objektzyklus in den Spalten SZK (allok) und SZK (benutzt) ausgegeben (SZK steht für starke Zusammenhangskomponente, siehe Speicherverbrauch). Ansonsten ist der Wert hier Null. Nur Objekte, die ihrerseits auf andere Speicherobjekte referieren können, können Bestandteil eines Objektzyklus sein (also interne Tabellen und Instanzen von Klassen).

 

Typen-Rangliste

Die Typen-Rangliste ist ähnlich der Rangliste. Hier werden auf oberster Ebene aber die Klassen und Typen anonymer Datenobjekte und nicht die Instanzen von Klassen und anonyme Datenobjekte selbst aufgeführt. Auf diese Weise lässt sich beispielsweise der Speicherverbrauch einer gesamten Klasse einschließlich aller ihrer Instanzen in Relation zum Gesamtspeicherverbrauch setzen.

Wie in der Übersicht, lassen sich unter den Klassen die zugehörigen Instanzen und unter den Typen anonymer Datenobjekte die Datenobjekte selbst anzeigen.

Objektzyklen (SZK)

Die Sicht Objektzyklen (SZK) zeigt alle nicht-trivialen Objektzyklen (also alle Zyklen, die mehr als ein Objekt enthalten). Zu jedem Zyklus wird die Anzahl der enthaltenen Speicherobjekte sowie der belegte Speicher angezeigt. Unterhalb der Zyklen können die enthaltenen Objekte angezeigt werden.

Objektzyklen werden beim Erstellen eines Speicherabzugs dynamisch erkannt und fortlaufend nummeriert .Diese Bezeichnung ist nicht stabil. Aus diesem Grund können Objektzyklen zweier Speicherabzüge auch nicht miteinander verglichen werden.

Für mehr Informationen zu Objektzyklen (SZK) siehe Speicherverbrauch.

Systemspeicher

Die Sicht Systemspeicher zeigt den Speicherverbrauch interner Dienste innerhalb der ABAP-Laufzeitumgebung. Auf die hier ausgegebenen Werte hat der ABAP-Programmierer keinen unmittelbaren Einfluss.

 

Ende des Inhaltsbereichs