Memory Heap Utilization


This view displays the dynamic memory utilization over time, as demonstrated by the upper right part of the screenshot. Each data point corresponds to a dynamic memory operation such as a call to malloc() or free(). This can be used to see if there are any obvious memory leaks in your system, i.e., if the graph keeps growing over time. Clicking on any data point highlights the corresponding event in the main trace view.

Memory allocation events can also be displayed in the object history view, shown in the lower right part of the screenshot. This is opened by double-clicking on a memory operation event in the main trace view. Here you see the details of each event and can also match a particular malloc() with the corresponding free(), or vice versa. You may also filter the events to only show "remaining" allocations, i.e. where there is a malloc() but no matching free(). This allows you to spot the precise location of any memory leaks in the trace. However, Tracealyzer can't detect if the "remaining" allocations are real memory leaks or intentionally allocated over long periods. To enable this filtering, select Filter Calls -> Show Remaining Only.

realloc() events are displayed as two separate events (free, allocate).

Copyright Percepio AB 2017, all rights reserved.