Loads of memory in "standby" on Windows Server 2008 R2

13,624

Standby memory is data that has been Cached into memory, and has not been modified since (though it may have been read) and can be dropped if required. It can be instantly freed up on demand. If the physical RAM was needed for anything else, the Standby memory would be dropped, its kept in memory on the off-chance it'll be needed again, and it'll be quicker to fetch from memory than disk.

All mapped files are backed by the page file, so if a process has a mapped view of a 2 GB file, it'll be backed by 2GB of page file. So if IIS is running and has a number of log files open for writing, its quite possible they'll be reserving space in the page file. This isn't a problem, and wouldn't adversely affect performance.

Share:
13,624

Related videos on Youtube

Jaap
Author by

Jaap

Interested in C#, ASP.NET, SharePoint and jQuery

Updated on September 18, 2022

Comments

  • Jaap
    Jaap over 1 year

    In our SharePoint farm, our Web Front End servers all have loads of memory in "standby" mode, meaning very little is available for our IIS worker process.

    We have 32 GB of RAM in each of the boxes, and standby memory will creep up to about 28 GB, whereas the IIS worker process only seems to be using about 2 GB. Also, we've seen the machine use the swap file extensively while this memory was in standby, so I am starting to think that this memory in standby mode is stopping IIS from using it, forcing it to swap to disk, causing more performance problems.

    I used SysInternals RamMap to indentify what is being kept in memory, and it was able to tell me that almost everything in standby memory is of type "Mapped File".

    When I sort the files listed under the file summary tab in RamMap by file size, the largest files (around a few hundred meg each) are IIS log files and SharePoint log files.

    I would like to understand which process is loading these files into standby memory and why they are not being released. When I do an iisreset, it does not release the memory.

    Any ideas?

    Thanks!

    • Philip
      Philip almost 13 years
      It's probably Windows caching. Windows will use almost all available memory for caching, and release it as soon as an application needs it.
    • Jaap
      Jaap almost 13 years
      The problem is that it doesn't seem like it's being released, and IIS seems to be desparate to use some of it (to avoid swapping to disk)
    • Philip
      Philip almost 13 years
      IIS by default will not use swap. By default it will leave 5% free and fail new connections. Is there anything else running on the computer. Try running sfc /scannow already?
  • Lucky Luke
    Lucky Luke almost 13 years
    Please, that would be helpful. You can also save the information from the rammap in a .rmp file and share it, then we can take a look at it.
  • mgoetzke
    mgoetzke about 8 years
    and standby memory is not instantly release at all especially when its big. sometimes the entire server comes to a halt (for all intents and purposes).
  • BeowulfNode42
    BeowulfNode42 over 3 years
    @mgoetzke I believe this is because Windows has to zero the memory before it allows another process to use that section of RAM again. While that process is quick, it is not instant. I've had systems that were slowed down by this phenomenon and they've lost their 'snappy responsive feel' because of this problem. Particularly on systems with slower RAM speeds. You can see in the Sysinternals tool RAMmap how much Standby, Free, and Zeroed memory your system currently has.