Intel® VTune™ Amplifier 2018 Help
Explore the data collected with the Memory Consumption analysis for your native or Python* target and identify the most memory-consuming objects, analyze their allocation stacks and source.
Start with the Summary window that displays a list of top memory-consuming objects. For example, the foo - test.py:5 object has the highest Memory Consumption metric value and could be a candidate for optimization:
For further investigation, switch to the Bottom-up tab and explore the memory consumption distribution over time. Focus on the peak values on the Timeline pane, select a time range of interest, right click and use the Filter In by Selection context menu option to filter in the program units (functions, modules, processes, and so on) executed during this range:
In the example above, the python test module allocated 922 194 472 bytes of memory in a call tree displayed in the Call Stack pane on the right but released only 824714480 bytes. This is the maximum Allocation/Deallocation delta value that signals a potential memory leak. Clicking the foo function from the Call Stack pane opens the Source view highlighting the code line that allocates the maximum memory. Use this information for deeper code analysis to identify a cause of the memory leaks.