Need help to understand the memory usage on a Windows 2000/XP syst

G

Guest

Hello,

Is there someone who can help me to understand the memory usage on a Windows
2000/XP system?

I have the following problem. I am trying to figure out how much memory a
given application needs, independently of where it is really located (working
set or page file).
I would like to be able to draw a picture for my process, showing the
complete 4 GByte address range, showing which addresses/volumes are reserved,
committed and shared and for which purpose.

How much memory is really used, and what is in the page file is not the
question here.

I am using the performance monitor to monitor the memory usages but I can
not figure out how to get the information I need.

According to one source the “\Process(<myprocess>)\Private Bytes†give me
the bytes exclusive committed to <myprocess>, including the used DLL’s. All
located in the virtual memory below address 80000000h (user memory). This is
also what I see when I use the “Process Walkerâ€, however Process Walker shows
only the first 2 GByte and does not give any clue about sharing.

On the other side, I am reading that DLLs are shared amongst the different
processes and are therefore located above address 80000000h (System memory).
The needed memory is not counted in the private bytes. I suspect they are
counted in the \Process(<myprocess>)\Pool Nonpaged Bytes and
\Process(<myprocess>)\Pool Paged Bytes counters amongst with other system
code and resources. But when I compare the working set of my process, it is
bigger than the sum of the private bytes, Pool Nonpaged Bytes and Pool Paged
Bytes of my process which rejects this assumption.

To get more confused, I am also reading that the private bytes do count the
shared DLL’s. So you see, the more I read the more I get confused.

Can someone get my on the right track?

Filip.
 
G

Guest

Hello Bert,

Thank you for the information, but no it is not what I was searching for.
I did already some reading before I came upto this question about how and
what windows is doing and which counters are available. The book "Windows
2000 Performance Guide" is advisable. However, digging into the memory usage
I do not find any information how to draw an memory map of the virtual
commited memory. I searched also the internet with several keyword (maybe the
wrong ones ;-)) but i did not find any usefull information.

Filip.
 
W

Walter Clayton

Quick and dirty definition of terms:
http://support.microsoft.com/default.aspx?scid=kb;en-us;294418
Paged Pool and non-paged pool are system areas. Whether or not you choose to
count IO buffers and incidentals against your application size is entirely
up to you. Those are shared with anything else likely to be running on the
system concurrently.

You have 2G (or 3G if running in that mode or more if running 64b) to play
with. Play and don't sweat it unless you're bumping the 2G line.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top