
Memory Use Overview
If you choose , the following tabs are displayed:
Memory Use – Total
Memory Use – Ranking List
Memory Use – SCC (strongly connected components)
The Memory Analysis not only allows you to display the memory use in the Debugger by choosing Memory Use, but you can also save memory snapshots and analyze them using the Memory Inspector.
Memory Use Displays
Memory Use – Total
The memory use of the following memory areas is displayed in bytes (see Virtual Address Space of a Work Process):
Heap memory (private memory)
Roll Memory
Used memory (that is, the memory occupied by data in the roll or heap memory
Allocated memory (that is, the memory requested in the roll or heap memory)
Short memory (memory for storing interim results –for example, from the screen that is automatically cleared after each dialog step)
Memory Use – Ranking List
Displays a list of all data objects used and sorted by connected memory. It is updated automatically.
Memory Use – SCC
Memory Use –SCC All dynamic objects (internal tables, strings, objects created using CREATE OBJECT, anonymous data objects created using CREATE DATA of an internal session make up the nodes of a directed graph, the edges of which are the corresponding references. To analyze the graph you must be familiar with the strongly connected components (SCC). An SCC is characterized by the following property: For every two elements A and B of an SCC there is both a path in the object graph from A to B and from B to A. A path consists of several connected edges.
The system displays a ranking list of the memory use of all SCCs in the current internal session; the entries are sorted either by referenced or by bound memory. The list only includes SCCs that consist of at least two elements.
Significance of Columns for Individual Display, Ranking List, and SCCs
Bound Memory
Memory that is freed up when a complete deletion takes place (for internal tables, with FREE). The memory of the specified object also includes the memory used by those objects that only exist as references to the object. For example, if an internal table exclusively contains references to data objects and these can be released by the garbage collector after deletion of the table, these referenced objects also contribute to the bound memory.
Referenced Memory
Memory referenced by the data object (possibly skipping other data objects). This memory is not necessarily released when the data object is deleted, since other data objects may still be referencing the memory. The referenced memory is always larger than or equal to the bound memory.
Used Memory
Memory occupied by use data.
Allocated Memory
Memory reserved by the system. The allocated memory is always larger than or equal to the used memory.
Number of Instances
This column appears in ranking lists only after a grouping and for SCCs. It specifies that number of instances of a class, a data type, or the elements of an SCC.
Sharing
This column only concerns internal tables and strings. It is selected if sharing is active for the internal tables or strings after assignments.
SCC Selection
If an internal table, an object, or an anonymous data object is part of an SCC, a button appears in the right of the column: choosing this button displays the relevant SCC.
Additional Functions for Ranking Lists and SCCs
Settings
If you choose Change Settings, the system displays a window, in which you can specify the sorting order (by bound or referenced memory), the update procedure (automatic or manual), and the number of entries. For the memory use ranking list, you can also specify the type of data objects whose memory use is to be displayed. In the ranking list, you can also group objects and anonymous data objects (created using CREATE DATA) according to their classes or data types. The system adds the memory requirement of the individual objects and the static memory. This function is useful if a class or data type has many instances that each have low memory requirements.
Instance List
This function is available for ranking lists only after a grouping. If you choose the Instance List icon, the system displays all instances of a class, a data type, or all elements of an SCC.
Finding References
If you choose the Find References icon, the system displays all references to an object, anonymous data object, string, or an internal table. In the case of strings and internal tables for which sharing is active after assignments, the system displays all variables that are used to address the common data area. Also included in this are variables from other ABAP programs of the same internal mode that acess declared strings and internal tables using DATA ... COMMON PART.
Save as Local File
This function is only available online for ranking lists. You can use it to save an excerpt of the ranking list in a local file on the presentation server in Excel format
Memory Display for Single Objects and Data Objects
You can activate and deactivate the memory display for individual objects and data objects by choosing . The current memory values are shown in the display for the individual objects or data objects. If you choose the Find References icon, the system displays all references to an object, anonymous data object, string, or internal table. If an internal table, an object, or an anonymous data object is part of an SCC, a button appears in the right of the column: choosing this button displays the relevant SCC.
Sharing is possible for internal tables and strings. The sharing is displayed in the system by a reference counter. If this counter has the value 1, sharing is not active for the internal table or string. In this case, the memory use is added to the node that references this internal table string –that is, the size of the internal table or string is contained in the Bound Memory of the higher-level node.