Virtual Memory Introduction
In general, RAM [Random Access memory] is called as Memory or Physical Memory. There exist another memory termed as Virtual Memory. However there is a catch-22 when someone talks about virtual memory. “Virtual memory” has two meaning. So its necessery to understand which meaning stand worth at what place.
The first meaning of virtual memory which is widly used and understood by computer users especially Windows Operating system Users are “PAGEFILE”.
And the second meaning mostly understood by the professionals are those memory blocks assigned to all the program/appilcation equally and fixed based on the architecture[32-bit and 64-bit] by the Operating system memory manager while on execution. These allocated memory space are translated to the Physical memory[RAM] by address translation hardware in the CPU often termed as MMU[Memory management Unit] or registers.
Our concern will not be on the first meaning of Virtual memory which is an extension of physical memory. As performance monitor tool can give us clear picture if we are running low on Phyical memory.
Understanding Virtual memory [2nd meaning] will give us better idea in understanding and analysing the memory dump.
Neverever try to co-related physical memory and virtual memory. They both are seperate entity. In order to understand and clear our doubt about virtual memory and physical memory and its relation if there is any we will be using 2 seperate tools from sysinternals
VMMAP , this tool shows the usage of the virtual memory within the process to an extremely granular level details
RAMMAP , which show details about the physical memory utilization.
Did you notice ? Task manager showing the same process id 1980 consuming around 8 MB of Memory where as in the VMMAP tool Total used is 249,512K and free is 1,848,908K and on summing up we will have around 2GB .
One more thing to notice, the application is 32 bit application if it would be 64 bit application we may have seen the total virtual memory to the application around 8 TB.
Similarly we can go ahead with various options and category to understand the physical memory utilization at discrete level in RAMMAP.
We will discuss that in another post which is dedicated to VMMAP and RAMMAP individually.