web-dev-qa-db-ja.com

IIS現在の合計メモリによるサーバーエラー

このエラーを最終的に解決する方法?


'/ **** 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.

ソースエラー:

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.

スタックトレース:

[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

バージョン情報:Microsoft .NET Frameworkバージョン:4.0.30319; ASP.NETバージョン:4.0.30319.17929

31
Sungam Yang

ソリューションはあなたの投稿に書かれています。

これを解決するには、マシンの負荷を減らすか、serviceHostingEnvironment構成要素のminFreeMemoryPercentageToActivateServiceの値を調整します。

最も簡単な方法は、これをweb.configに追加するだけです

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

serviceHostingEnvironmenthere の詳細をご覧ください。

とにかく、@ Mr Grokがどのように正しく指摘したかは、マシンに十分な物理メモリがないことを示しており、なぜこれが起こっているのかを理解する必要があります。重大な問題になる可能性があります。

96
Milan Matějka

この問題がありました。 SQLサーバーは、使用可能な32 GBのうち29 GB以上を使用していました。

SQL Serverがある場合は確認してください。 MS SQL Severは、許可されているだけの空き領域を占有するように設計されています。 SQL Serverのプロパティタブの最大サーバーメモリボックスでこれを制限できます。

5
MarcB

Web.configでserviceHostingEnvironment属性を0に追加しました。

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

これは私がこれを行うのを見つけた最も簡単な方法です。

1
user1799669

Web.configはうまくいきましたが、SQL Serverのメモリも対処が必要な問題でした。

サーバープロパティメモリの最大サーバーメモリをより低い値に減らすだけで、MSSQLサーバープロセスを再起動せずにSQLサーバーメモリの問題を解決できました。デフォルトは事実上無制限でした。

MS SQL Serviceを再起動せずに、プロセスが自動的に開始され、メモリフットプリントが構成された値に減少しました。
Screenshot of server properties

0
George Hix

まあ、私は同じ問題を抱えていたので、解決策を探していました。ほとんどのブログは、web.configに 'serviceHostingEnvironment'属性を追加する同じソリューションを提案していましたが、属性を追加するとIIS全体に影響し、ホストされたソリューションになり、最終的にIISを再起動します。

エラーメッセージは「メモリストレージの問題」に関連しており、サーバーの負荷を減らすように求められたため、サービスマネージャーを介してSQL Server(MSSQLSERVER)サービスを再起動するだけで、すべてが正常に戻り、削除されましたメモリの問題。

ウィンドウ+ R> services.msc>ハイライトされたサービスの下で再起動

enter image description here

0
Waseem Khan