web-dev-qa-db-fra.com

IIS Erreur du serveur en raison de la mémoire totale actuelle

Comment résoudre cette erreur en fin de compte?


Erreur de serveur dans l'application '/ **** StatWCF_OData'.

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.

Erreur de source: 

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.

Trace de la pile: 

[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

Informations de version: Microsoft .NET Framework Version: 4.0.30319; Version ASP.NET: 4.0.30319.17929 

31
Sungam Yang

La solution est écrite dans votre message.

Pour résoudre ce problème, réduisez la charge de la machine ou ajustez le valeur de minFreeMemoryPercentageToActivateService sur le fichier élément de configuration serviceHostingEnvironment.

La façon la plus simple d'ajouter ceci dans votre web.config

<system.serviceModel> 
    <serviceHostingEnvironment minFreeMemoryPercentageToActivateService="0" />
</system.serviceModel> 

En savoir plus sur serviceHostingEnvironmenthere

Quoi qu'il en soit, @Mr Grok a correctement indiqué que cela indiquait que votre ordinateur ne disposait pas de suffisamment de mémoire physique et vous devriez comprendre pourquoi. Cela peut être un problème grave.

89
Milan Matějka

J'ai eu ce problème. Il s'avère que SQL Server utilisait plus de 29 Go de mes 32 Go disponibles.

Vérifiez votre serveur SQL si vous en avez un. MS SQL Server est conçu pour occuper autant d’espace libre que vous le permettez. Vous pouvez limiter cela dans la zone de mémoire maximale du serveur dans les onglets de propriétés de SQL Server.

5
MarcB

J'ai ajouté l'attribut serviceHostingEnvironment à 0 dans web.config.

<system.serviceModel> 
    <serviceHostingEnvironment minFreeMemoryPercentageToActivateService="0" />
</system.serviceModel>

C’est la façon la plus sipmpleste que j’ai trouvée de le faire. 

0
user1799669

J'ai eu le même problème et je cherchais une solution. La plupart des blogs suggéraient la même solution pour ajouter l'attribut 'serviceHostingEnvironment' dans le fichier web.config, ce qui constitue un travail risqué, car l'ajout d'un attribut affectera l'intégralité de IIS et ses solutions hébergées, puis redémarrera IIS. 

Comme le message d'erreur était lié à «Problème de stockage de la mémoire» et qu'il nous a été demandé de réduire la charge sur le serveur, ce que j'ai fait est de redémarrer le service SQL Server (MSSQLSERVER) via le gestionnaire de service. Tout est rentré dans l'ordre et je me suis problème de mémoire.

Window + R> services.msc> Redémarrer en dessous du service mis en surbrillance

 enter image description here

0
Waseem Khan