Seriously, I’ve trawled MSDN and only got half answers – what do the columns on the Task Manager mean? Why can’t I calculate the VM Usage by enumerating threads, modules, heaps &c.? How can I be sure I am accurately reporting to clients of my memory manager how much address space is left? Are their myriad collisions in the memory glossary namespace?
An online resource would be most useful in the short term, although books would be acceptable in the medium term.
Here is a quick article on Windows Memory Management, which goes into sufficient depth to interpret what you’re actually seeing in Task Manager or Process Explorer.