I have the following process list and memory consumption (reported thru process explorer) on a 2008 R2 server with SQL, TFS and some other tools:

enter image description here

As you can see the system is consuming 3.6 Gb but the process list only shows a big process (the first one [SQL Server]) taking less than 500 Mb and the others are pretty small so I don't know who is taking almost all of the server's memory. Any idea on how to find out the culprit?

  • Oh my. An that is a hugh 34gb memory what - tablet? EVER considered using the system tools? Like Ressource Monitor (reachable from task manager) to see where the memory is used? – TomTom Feb 5 '13 at 10:26
  • Do you think Ressource Monitor will show different information than Process Explorer? Interesting, I'm going to check it. – Ignacio Soler Garcia Feb 5 '13 at 10:33

The OS doesn't care and you shouldn't either. The OS isn't under memory pressure, it has 500MB free. So it doesn't care how memory is used at all.

The only thing it could do is invest CPU to reclaiming memory. But then one of two things would happen:

  1. That memory wouldn't be used anyway. This would make the effort of making it free a total waste. And this is the most probable outcome, since 500MB is sitting unused already. Having more free memory will have no effect on performance anyway.

  2. That memory would be used. In this case, the effort of making it free would again be a total waste because it would just have to be undone.

Modern operating systems only make memory free when they have absolutely no other choice. It's the worst possible thing they can do with memory as it requires them to do additional work to make use of that memory. They can much more easily transition memory directly from one use to another use without the added wasteful intermediate step of making it free.

It's just doing whatever it happened to be doing last. The OS has no need to reclaim it because the most likely next use for that memory is whatever it was already doing before, and it's already there -- for free.

That said, RAMMap will tell you. But it's utterly pointless to analyze OS memory usage on a machine that's not under memory pressure.

  • Thanks. The fact is that the machine it's really under memory pressure. I had to shutdown almost everything to get the machine responsible and to be able to generate the screenshot. I'll check RAMMap. That memory consumption started 2 days ago without relevant changes and I'm trying to find out why and to fix the issue if it can be fixed. – Ignacio Soler Garcia Feb 5 '13 at 10:40
  • Thanks, using RAMMap I found that it was an issue with an upgrade of our virtual infrastructure and about 2,5 Gb where wrongly assigned to "Driver Locked memory". Again, thanks. – Ignacio Soler Garcia Feb 5 '13 at 10:48
  • Glad to have helped, even though the thing that helped wasn't my main point. ;) RAMMap is a great tool not just for diagnosing problems but also for understanding what Windows does with memory. – David Schwartz Feb 5 '13 at 10:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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