Why do some provessed sho a greater VM Size the the Mem usage size?
In short:
Mem Usage: the total number of pages the process has currently resident in its address space. This is sometimes also called
"Process Working Set". Few examples:
- a process maps a 300MB file (no memory allocation, really, just "mapping" -- this does not in fact consume any RAM) -- the Mem Usage column will increase by 300MB
- a process allocates 300MB of heap (i.e. RAM) but then goes idle for X hours. The system swaps the memory to the page file and the Mem Usage column can drop to e.g. 1MB.
VM Size: Size of memory allocated by the process (heap, stack etc). This is sometimes also called "Private Bytes". If a process allocates 300MB of heap, the VM Size will not drop bellow 300MB. If a process maps a 300MB file, the VM Size will not change.
In general, VM Size is a much better indicator of memory hogs. Of course, there are also some exceptions. Since Windows manages memory internally, it's not always easy to find out what's going on when the value is too high/low - it may require deeper analysis...
Cheers,
Vlk