6

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!

MDMarra
  • 100,183
  • 32
  • 195
  • 326
Jaap
  • 161
  • 1
  • 1
  • 4
  • It's probably Windows caching. Windows will use almost all available memory for caching, and release it as soon as an application needs it. – Chris S Aug 03 '11 at 16:13
  • 1
    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) – Jaap Aug 05 '11 at 12:12
  • 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? – Chris S Aug 05 '11 at 12:15

3 Answers3

2

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.

Simon
  • 41
  • 3
0

Windows is usually good about using memory when it is available, and releasing it when other processes require it. A "mapped file" does not use physical memory, but only virtual memory. A process can map a file to memory to access the file contents as if it were in memory - and this method can be faster than accessing the file through traditional methods. But again, this does not mean that the entire file is loaded into memory.

Are you seeing actual performance issues on the machine?

Can you post some of the stats from the "Performance" tab from Windows Task Manager?

Lucky Luke
  • 1,555
  • 1
  • 9
  • 12
  • Thanks for your answer Lucky Luke - We ARE noticing performance problems with our SharePoint environment. We were expecting the IIS worker process to grab more memory than 2gb, and in fact it appears to be swapping to disk which seems to increase CPU and slow down processing of client requests. Then again, I'm a developer so I could be completely wrong. Let me see if I can give you some stats from Task Manager. – Jaap Aug 05 '11 at 08:52
  • 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. – Lucky Luke Aug 05 '11 at 16:05
0

2008 R2 has a real issue with memory running off to standby. Especially on Itanium boxes. "It's a known issue" is the reply I get from MS.

  • 1
    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). – mgoetzke Mar 11 '16 at 12:43
  • @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. – BeowulfNode42 Sep 08 '20 at 04:40