While all information can be useful, the data in the heap column is the most interesting as it contains information that you can control. Memory Usage reports display the amount of memory:
Text
Your program uses to store your program’s machine code instructions.
Data
Your program uses to store uninitialized and initialized data.
Heap
Your program is currently using for data created at runtime.
Stack
Used by the currently executing routine and all the routines in its backtrace.
If you are looking at a multithreaded process, MemoryScape only shows information for the main thread’s stack.
The stack size of some threads does not change over time on some architectures. On some systems, the space allocated for a thread is considered part of the heap.
Stack Virtual Memory
The logical size of the stack. This value is the difference between the current value of the stack pointer and the value reported in the Stack column. Also, this value can differ from the size of the virtual memory mapping in which the stack resides.
Total Virtual Memory
The sum of the sizes of the mappings in the process's address space.