My Windows Server is running an web application on IIS 7.5.
I'm wondering why IIS application pools use a lot of memory.
Please refer to the screenshop I captured from the servere.
In the application pool named TEST 2.0 (.NET Framework Version 2.0), there is only one small web service. However, it takes about 3GB for Virtual Bytes.
Also, in the application pool named TEST 4.0 (.NET Framework Version 4.0), there is only one web service doing nothing. However, it allocates about 9GB for Virtual Bytes.
Do you know why IIS 7.5 occupies huge Virtual Bytes?
Do you have any intuitive ideas about it?
I have not had this problem before installing .NET Framework 4.5
To give you more ideas, here is my system environment:
- OS: Windows Server 2008 R2 Standard SP1
- HW: Intel(R) Xeon(R) CPU X5670 @ 2.93GHz 2.93GHz / 8.0GB RAM
Added!
IIS randomly generates the error message and it's a critical problem.
Server Error in '/****StatWCF_OData' Application.
Memory gates checking failed because the free memory (373817344 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.
Description:An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InsufficientMemoryException: Memory gates checking failed because the free memory (373817344 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either
reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Stack Trace:
[InsufficientMemoryException: Memory gates checking failed because the free memory (373817344 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.] System.ServiceModel.Activation.ServiceMemoryGates.Check(Int32 minFreeMemoryPercentage, Boolean throwOnLowMemory, UInt64& availableMemoryBytes) +121924 System.ServiceModel.HostingManager.CheckMemoryCloseIdleServices(EventTraceActivity eventTraceActivity) +86 System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +883 [ServiceActivationException: The service '/****StatWCF_OData/OData.svc' cannot be activated due to an exception during compilation. The exception message is: Memory gates checking failed because the free memory (373817344 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element..] System.Runtime.AsyncResult.End(IAsyncResult result) +650220 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +210733 System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +282 |
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929