5

I have a Windows Server 2008 R2 64bit SP1 machine with 16GB of RAM installed. If I open the task manager, it tell me that nearly all of the memory is full -- only it's not.

The Total is correct, but the Cached, Available, and Free totals don't seem to reflect the amount of RAM actually available on the server. What could be causing this?

Windows Task Manager misreports RAM usage

UPDATE Per @evan-anderson's suggestion, we loaded up RAMMap. It reports a ton of memory being sucked up by "Metafile".

Found a post that explains a fix via RAMMap. I did that and it seems to be slowly freeing up memory. However, it seems problematic to have to do this every couple of days.

Also found a server fault question about this issues and am considering @BeowulfNode42's solution

fordareh
  • 660
  • 1
  • 7
  • 16

2 Answers2

7

The total of "Cached", "Available", and "Free" aren't ever going to add up to the "Total". Here's a good blog entry that describes these numbers in detail.

Task Manager is telling you that 88% of the physical RAM is occupied. You have some process (or combination of processes) that has allocated a significant amount of memory.

Evan Anderson
  • 141,881
  • 20
  • 196
  • 331
  • The only problem is that the amount of memory being consumed by the processes in the Processes tab doesn't add up to nearly 16GB. I'm wondering how to find the missing RAM. – fordareh Feb 08 '14 at 00:34
  • 1
    @fordareh - Processes aren't the only thing that takes RAM. The OS for example caches data about files being accessed, etc. You won't see that in task manager. Check Sysinternals RAMMap http://technet.microsoft.com/en-us/sysinternals/ff700229.aspx – ETL Feb 08 '14 at 04:19
3

If you can't track down which process is using this, I'd imagine that this server is likely running in Hyper-V or VMware ESXi (or KVM or Xen) and there is ballooning happening. In Hyper-V this is called Dynamic Memory. In the other products, it is called Ballooning.

What happens during ballooning is that the when the physical host is low on memory and other guests require it, then the host will "inflate" the balloon driver on underutilized hosts, which causes the balloon driver to appear to consume memory. This is done to ensure that it can safely redistribute that chunk of physical RAM to another guest. Check your host resource utilization and dynamic memory options. If you've overcommitted your RAM, this is almost certainly what is happening.

MDMarra
  • 100,734
  • 32
  • 197
  • 329
  • this is not a virtual machine (response to comment on question). RAMMap reports that tons is being used by "Metafile". – fordareh Feb 08 '14 at 20:51