0

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?

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
TomEaton
  • 3
  • 2

1 Answers1

0

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:

http://northamerica.msteched.com/topic/details/WCL405

http://northamerica.msteched.com/topic/details/WCL406

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"

Ryan Ries
  • 55,481
  • 10
  • 142
  • 199
  • 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