"Working Set" vs. "Private Working Set"?

vj8usa

Senior member
Dec 19, 2005
975
0
0
What's the difference between these two columns in the Windows task manager? Only the private working set is shown by default, but I traditionally always show the full working set instead, since that seems to show how much RAM a process is actually using. Why does it default to only showing the private set, and what's the difference between that and the non-private set?

edit: apparently the private set is the amount of memory that a process uses that can't be shared with other processes. How's this "sharing" of memory between processes work?
 
Last edited:

Voo

Golden Member
Feb 27, 2009
1,684
0
76
In a nutshell: If two processes are importing the same .dll, Windows doesn't load the memory for the dll twice but both processes are getting pointers to the same memory region.

So the other measuerment isn't that significant - lots of dlls are already loaded by windows by default, so that's really free memory for the programs..
 

glugglug

Diamond Member
Jun 9, 2002
5,340
1
81
It's not just dll's and such. Any shared memory area isn't part of the "private" working set, I.e. any memory mapped files. You might expect this not to amount to much, but the way the file I/O APIs work all files read are implicitly memory mapped and paged in unless you explicitly specify otherwise.
 
Last edited:

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
And that's just one of the reasons why memory accounting is so difficult and you should take those values from taskmgr with a grain of salt.