When learning to code, we all come to know about how a program is assigned some working set memory. We also learn about using the memory from the heap or the stack. But how these different memory types actually work is in real-time is shown by VMMap.
VMMap is a tool from Sysinternals which is able to graphically show the memory allocation for a running program. It is designed mainly for the computer science students and the program developers who want to see the memory usage by a program.
After launching VMMap, we can choose either a running program from the list displayed by VMMap or we can select a program to be run and monitored. No matter which of these methods you choose, VMMap displays the memory usage for that program.
In addition to the committed memory for a program, it also shows the working set memory for it. The committed memory for a program is allocated by the operating system and can be used by the program internally. This is limited by the operating system and the hardware limitations. The working set is the actively used portion of the committed memory.
For dynamic memory allocations in a program using functions like malloc() and realloc(), the heap memory is used. Similarly, the stack is the memory space where various program function calls and local variables are managed. Programming students can use these functions and then use VMMap to see how much memory is being used.
It displays the image memory which is basically the program itself when loaded into the memory for execution. All the variables and executable code are kept inside this portion of the memory. This is the portion of memory sometimes modified by malicious programs after a program is launched.
VMMap is an advanced tool and only meant for the software analysis experts and program developers. But the way it displays the memory usage in a program is really very impressive.
You can download VMMap from https://learn.microsoft.com/en-us/sysinternals/downloads/vmmap.