Search code examples
asp.net-mvc-3iis-7asp.net-mvc-4asp.net-web-apimemorycache

Is there a memory limit for w3wp.exe?


Is there a max memory size for w3wp.exe? Mine is getting up to about 2.5-3G then seems to crash/reset.

Per the "GIVEN" dimensions below I setup some counters and noticed that the w3wp.exe will service http requests then reset to 0 along with the w3wp.exe process crashing (changing pids). As a result REQUESTS_QUEUED and ACTIVE_REQUESTS grow large causing delays in processing until the w3wp.exe can restart itself. It's doing this every 3-4min so more than likely due to heavy system volume during peak load. But not sure if it's a memory issue or not.

I see tons of warnings in my webserver (IIS) log:

A process serving application pool 'MyApplication' suffered a fatal communication error with the Windows Process Activation Service. The process id was '1732'. The data field contains the error number.

RESULT: Customers are reporting sporadic response times for http requests.

Can I increase this memory limit or reconfigure IIS to handle increased load?

GIVEN:

  • System has been passed down to me so there may be gaps with IIS configuration, etc.
  • Database: SQL Server 2008R2
  • Web Servers: Windows Server 2008R2 Enterprise SP1 (64bit, 64G RAM)
  • IIS 7.5
  • Using MVC4 Web API with MemoryCache aggressively with Model and Business Objects with eviction set to 2hrs
  • Looked at the logs but really don't see anything significantly relevant
  • One application pool...no other LOB applications running on this server

Solution

  • Actually after solving the RC in which overuse of memorycacheing that was crashing the w3wpe.exe process I can safely say that an mvc4 web api service can grow up to 20G ... from baseline of 3G (64bit machine and application pool). AT least that was the last level I saw it before eviction policy starting cleaning up things. Probably a bit excessive in footprint but the application is very fast returning machine learning targeted content sub-100ms.