Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm running a load test on a .NET web application over a LAN. The server hosting the web app is a VM, Windows Server 2008 R2, with 2 GB of RAM and a 3GB limit for virtual memory. No other web applications are running on it

The test runs for 1 hour and 40 minutes and increases load every 10 minutes.

I record memory usage with perfmon during the load test and I see that the memory starts at 1.5GBs and rises until it hits a limit of 3.37GBs after 1 hour and 20 minutes, then the memory drops to 1.5 GBs again.

I don't understand why this is happening. Is windows Memory Management doing this, and if so why?

share|improve this question
What is "the memory"? Precisely which perfmon value are we talking about? – David Schwartz Aug 24 '12 at 11:36
All memory counters captured. I'm looking at available and Committed. – TomEaton Aug 24 '12 at 18:24
up vote 0 down vote accepted

You're dipping into a very complex topic, one that is hard to encapsulate in just a simple answer here on this board.

Windows Memory Management. I suggest you start by watching this 2-part video series:

To your question, very basically, once the system starts getting tight on memory, the Memory Manager starts chewing away at standby lists, modified page lists, and finally other processes' working sets.

So to answer your question, yes it is the memory manager doing it, according to its own algorithms of "OK I'm running out of memory, what can I do to free up some memory for this hog on the system"

share|improve this answer
I agree, a massive subject and too hard to answer from my general question. I'll accept your answer for others. I think it's nothing to do with my load test now, as I ran it as different times of th day and this rise and sharp fall only happen at 7pm-9pm at night :) So it must be another process that does it. I'll add some other counters for capturing processes to see what is doing it. Thank you so much. – TomEaton Aug 25 '12 at 10:29
In my opinion, Process Explorer and RAMMap give you the best view of what kind of memory is being assigned to which process. VMMap is good for zooming in on a specific process and seeing how it's using memory. All Sysinternals tools. – Ryan Ries Aug 25 '12 at 14:31
Thank you very much for this information. I'll look into it on Monday :) – TomEaton Aug 25 '12 at 19:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.