Memory Analysis
You use the Memory Analysis tool to display the current level of memory consumption.
For this purpose, the tool provides two display screens with different information.

To display the Memory Analysis tool, open the New Tool dialog box and choose Memory Analysis.
The Memory Analysis tool has two work areas.
You can display the
Memory Sizes work area by choosing
with the
quick info text Memory Sizes.
The system displays the following memory sizes in bytes:
● Internal Session
○ Allocated memory
○ Used memory
● Special Memory Areas
○ Heap memory
Private memory
○ Roll memory
○ Short memory
Memory for storing interim results
○ Paging memory
You can display the Memory Objects work area by choosing Memory Objects.
In this work area, the system displays a ranked list of all memory objects, sorted by size.
● You can restrict the number of entries by using the Entries input field.
● You can change the memory object display by using the View dropdown box. The following views are available:
○ Memory objects
In the Memory Objects view, you can display individual memory objects such as class objects, anonymous data objects, internal tables and strings.
○ Types
In the Types view, the class objects and anonymous data objects are grouped into classes and types. The used memory is summed. In the case of classes, the static memory of the class is also considered.
○ Aggregates (cycles)
The Aggregates (Cycles) view groups together individual memory objects that are part of a strongly connected component.

A strongly connected component has the property that for every two elements A and B of such a component, there is a path in the object graph from A to B and from B to A. Therefore, the elements of a strongly connected component can be deleted only by the garbage collector, provided all outside references to elements of the component were deleted. Strongly connected components can be viewed as composite objects that can only be deleted as a whole.
● In all displays, for each memory object, the following information is displayed:
○ Bound Memory and Occupancy of Bound Memory
Bound memory is freed up when a complete deletion takes place (for internal tables, with FREE). The bound memory of an object also includes the memory used by objects that only exist as references to that object. For example, if an internal table exclusively contains references to data objects that can be released by the garbage collector after the table is deleted, the referenced objects also contribute to the bound memory.
○ Referenced Memory and Occupancy of Referenced Memory
This is the memory referenced by the data object (possibly skipping other data objects). This memory is not released when the data object is deleted if other data objects still reference that memory. The referenced memory is always larger than or equal to the bound memory.
The system displays the occupancy of bound and referenced memory in percentages.
You can use the
additional services of the Memory
Analysis tool by choosing
with the quick info text Services of the Tool.
A dialog appears that contains the following Tool-Specific services:
● Settings.
You use this service to control the behavior of the memory object ranked lists.
You can make the following settings:
○ Filter certain types of memory objects out of the ranked lists.
○ Sort the ranked list according to included or referenced memory.
○ Update the ranked lists automatically or on request.
● Create Memory Snapshot
You use this service to create a memory snapshot that you can analyze using the
● Compare Memory Snapshot
You use this service to compare memory snapshots using the Memory Inspector.
The garbage collector deletes all objects that no longer have references pointing to them. The garbage collector is periodically triggered by the ABAP runtime environment. Use this function if you want to trigger the garbage collection manually.