Use the Memory Consumption analysis for your Linux* native or Python* targets to explore memory consumption (RAM) over time and identify memory objects allocated and released during the analysis run.
How It Works
During Memory Consumption analysis, the VTune Amplifier data collector intercepts memory allocation and deallocation events and captures a call sequence (stack) for each allocation event (for deallocation, only a function that released the memory is captured). VTune Amplifier stores the calling instruction pointer (IP) along with a call sequence in data collection files, and then analyzes and displays this data in a result tab.
Configure and Run Analysis
To configure and run the Memory Consumption analysis:
Prerequisites: Create a project.
Click the (standalone GUI)/ (Visual Studio IDE) Configure Analysis button on the Intel® VTune™ Amplifier toolbar.
The Configure Analysis window opens.
From HOW pane, click the Browse button and select Memory Consumption.
The Memory Consumption analysis is pre-configured to collect data at the memory objects (data structures) granularity, which is provided due to instrumentation of memory allocations/de-allocations and getting static/global variables from symbol information.
Optionally, you may configure the Minimal dynamic memory object size to track option. This option helps reduce runtime overhead of the instrumentation. The default value is 32 bytes.
Click the Start button to run the analysis.
You may generate the command line for this configuration using the Command Line button at the bottom.
By default, the analysis result opens in the Memory Consumption viewpoint. Identify peaks of the memory consumption on the Timeline pane and analyze allocation stacks for the hotspot functions. Double-click a hotspot function to switch to the Source view and analyze the source lines allocating a high amount of memory.