views:

823

answers:

3

I run Windows 7 RC1, which uses the same WTM from Vista. When i look at the processes, there some columns I'm not sure what the differences are:

  • Memory - working set
  • Memory - private working set
  • Memory - commit size

can anyone tell me what they are, or provide a url to some website that does? thank you so much.

tam.

A: 

Hi there.

'Working Set' is the amount of memory that the process currently has in physical RAM. In other words, accessing any pages in the 'Working Set' will not cause a page fault since the page is in RAM.

As for the other two, I'm not 100% sure, probably 'Working Set' contains sharable memory, such as memory mapped files, and 'Private Working Set' contains only pages that the process can use and are not shareable.

Have look at this site and search for the speaker 'Dave Solomon'. There is an excellent webcast that he gave which explains about Windows memory, and he mentions working set, commit sizes, and other memory terms.

Cheers. Jas.

Jason Evans
+2  A: 

http://cybernetnews.com/cybernotes-windows-memory-usage-explained/

There are two main types of memory usage: working set and private working set. The private working set is the amount of memory used by a process that cannot be shared among other processes, while working set includes the memory shared by other processes.

That may sound confusing, so let’s try to simplify it a bit. Lets pretend that there are two kids who are coloring, and both of the kids have 5 of their own crayons. They decide to share some of their crayons so that they have more colors to choose from. When each child is asked how many crayons they used, both of them said they used 7 crayons, because they each shared 2 of their crayons.

The point of that metaphor is that one might assume that there were a total of 14 crayons if they didn’t know that the two kids were sharing, but in reality there were only 10 crayons available. Here is the rundown:

* Working Set: This includes all of the shared crayons, so the total would be 14.
* Private Working Set: This includes only the crayons that each child owns, and doesn’t reflect how many were actually used in each picture. The total is therefore 10.

This is a really good comparison to how memory is measured. Many applications reuse code that you already have on your system, because in the end it helps reduce the overall memory consumption. If you are viewing the working set memory usage you might get confused because all of your running processes might actually add up to more than the amount of RAM you have installed, which is the same problem we had with the crayon metaphor above. Naturally the working set will always be larger than the private working set.

Gordon Carpenter-Thompson
+1  A: 

Working set:

Working set is the subset of virtual pages that are resident in physical memory only; this will be a partial amount of pages from that process.

Private working set:

The private working set is the amount of memory used by a process that cannot be shared among other processes

Commit size:

Amount of virtual memory that is reserved for use by a process.

And at microsoft.com you can find more details about other memory types.

Slink84