> From the definition of working set, it is a subset of virtual pages resident in physical memory -- from book Windows Internals
Oh, well I subscribe to
this definition.
My understanding of working set is just a list of all the pages you've touched in unit time (say the last second). It says nothing about whether that page is mapped to VM or is in the swap file.
Just because you just touched it (it's in the working set) doesn't mean that it won't be very soon swapped out to the swap file (not in VM).
Sure, if WS is bigger than VM, it might be indicative of some kind of performance problem in your program (because it may imply thrashing), but in itself, I would not regard it as being an "impossible" situation to find yourself in.
Definition of WS from perfmon
This definition is more in keeping with the Wikipedia entry than whatever it is you're reading.
Definition of Virtual Bytes from perfmon
Page file bytes, care of perfmon
Note here that "not in other files" means that for example part of your program code (which is read-only) can be swapped out (not in VM), but also not in the swap file either (because it can be recreated from the .exe)