Why is perfmon not giving usable memory and what are the alternatives?

I am trying to get reliable information about when my C # (Windows XP) application will run out of memory. I did some research and tests on my machine and picked out the most reliable perfmon counters :

Memory.Pages Output/sec
Memory.Available Bytes

      

I use the thresholds and the AND operator and it works well enough, but on a client machine (also Windows XP) both counters are useless. Available memory does not drop below 1 GB and page output is persistent. After reading some magazines, I still don't see a useful counter.
Counters, like memory, give the correct value, but the program runs out of memory (with a paging performance kill) after crossing 50% -60% of the available 5GB.

Any alternatives? I would not want to be forced to try to allocate memory and catch OutOfMemory exceptions during computation.

0


source to share


1 answer


See When will Windows out of memory end?



In short, you want to check for private bytes, virtual bytes and / or working set for your process.

0


source







All Articles