Internal Alias Question: My ECS process takes more than 2gb of memory on an x64 machine!
(The internal alias for Excel Services is becoming quite chatty with questions. I will try to capture some of the questions that may have a wider audience and post them here)
Q: On a 64bit machine, my ECS w3wp.exe process takes more than 2gb of memory. Is that okay?
A: With the advance to 64bit architecture, Windows can now use much more memory than it ever could before. ECS is designed to take up to 1/2 the machine RAM in private bytes by default*. Because ECS relies heavily on caching, some usage patterns may bring ECS to that treshold and hold it there for a while**. This is completely normal. If an administrator wants to changet that number, they can do it from the ECS settings page by changing the "Max Private Bytes" setting to be some other number.
An example of when an admin would want to increase this value is if Excel Services is the only important server on that machine and so can use the full RAM+Virtual Memory capabilities of the machine. An example when an admin would want to reduce the maximum memory taken is if there are other important services on the server and they dont want the Excel Services caches to take up important memory.
* This number is approximate. You may see fluctuations of around 10%-20% when looking at process size.
** When ECS senses that there's memory pressure on the machine, it will proactively free major parts of its unused cacehs to relieve the pressure on the machine.