I'm seeing an issue where my application pool is being recycled because I'm going above the 200 MB limit that Winhost has placed on my pool. I cannot get this to happen locally. Using process explorer, the highest memory usage I see in the w3wp.exe is 59 MB. After opening a ticket, the logs reveal this: A worker process with process id of 'xxxxx' serving application pool 'customerPool_xxx' has requested a recycle because it reached its private bytes memory limit. Is there anything that Winhost servers could be doing that would drastically inflate my pool usage? I have my main website running, which calls into a webservice also running in my pool. Is it possible that two instances of w3wp.exe are being spawned, and together, are eating up > 200 MB?
Highly unlikely. The threshold is controlled by the server so it difficult for the system to spawn up to processes. If it does your entire application would hang and your application would not even recycle. Most likely you'll see a 503 http error message. This is difficult to diagnose because we ourselves are not seeing whats going on in the back end but if your application pool is being recycled then you are definitely hitting one of the conditions. Maybe your application pool is not being recycled by your session itself is reaching its timeout limit. Have you checked that? Also, how many programs are you running?
I have a website and a webservice running in my pool. The website makes requests into the webservice based on user input. The session timeout is definitely not causing the recycling that I'm seeing. It happens within a minute or so after browsing around. What boggles me here, is that I have the same environment hosted locally, with the same 100 MB max private memory usage to trigger recycling. I have never been able to get past 80MB after lots of hits to the webservice and all of my pages having been loaded. I can cause a recycle when I have VIRTUAL memory limits set to 100 MB very easily, but not private byte limits. Does the 100 MB limit come solely from the w3wp worker thread?
Did you check the CPU usage? The memory usage is not the only condition that will cause an application pool to be recycled by the system.