[Autogenerated] various tools provide memory counters indicating
consumption of memory of one kind or another,
I'd like to describe the most common counters and then see them in
tools such as task manager and process Explorer.
So first we have something called working set.
Working set is about RAM is about memory,
which accessing does not require any painful to be handled and in many
cases you'll find something like private working set.
Private working set,
just looks at the working set used for private
memory as opposed to shared memory.
So you might find a full working set as a counter
or just the private working set.
And technically of course you can also look at the shared
working set which is usually less interesting but that's
something you can look at.
There's also an active counter that's only provided by task manager,
which I'll describe in the next demo.
Now then the working set really is about the entire physical
memory used by a process meaning the memory that currently
accessing will not generate a page fault.
On the other hand,
a bit more useful is something called commit sizing task manager,
which is called private bytes in process exploring other
tools such as performance monitor,
this indicates the total private committed memory in the process.
So it's about committed memory meaning memory that
could be in RAM could be not in RAM,
it doesn't really matter but it is still consumed memory and private
means that it's only about the private memory,
this is mostly the counter you want to look at in the majority of
cases because shared memory usually has a fixed size so it usually
don't care about that consumption.
Private memory is the the consumption made by the process itself because of
certain code that allocates commits memory inside that process.
So for example if you see the commit sizing task measure always increasing,
you have a suspicion for memory leak here.
So that's the private committed memory.
Unfortunately because of these differences in naming,
it's kind of confusing um task manager usually has its own
naming just because those developers writing task manager
can select anything they want.
Private bytes is a bit more precise because it indicates
the private memory used by the process.
There's another counter you can only find in process Explorer doesn't show up
in task manager called virtual size and that's the only counter that also
shows reserved memory so shows how much address space in the process is being
consumed by committee and reserve memory.
All the other counters are only concerned with committed
memory memory that is actually allocated.
Some of them just looking at the rampart,
some some of others looking at the entire committed memory
but virtual size shows the reserve memory.
So let's see all those in tools