Ответ 1
Попробуйте установить minFreeMemoryPercentageToActivateService в 0 в файле yourweb.config для хоста WCF, как предложено в этом ответе
У меня есть хост службы WCF. Мой запрос от wc высок. Мой хозяин, после некоторого периода времени, обнаруживает, что проблема памяти полна. Эта проблема повторяется. Когда я открываю страницу справки веб-службы, эта ошибка отображается:
Проверка памяти не удалось, так как свободная память (1398493184 байт) составляет менее 5% от общей памяти. В результате служба будет не доступны для входящих запросов. Чтобы решить эту проблему, уменьшите нагрузки на машину или отрегулировать значение minFreeMemoryPercentageToActivateService на serviceHostingEnvironment.
Мой web.config с хоста WCF выглядит следующим образом:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnable="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
<serviceHostingEnvironment minFreeMemoryPercentageToActivateService="1"/>
</behavior>
</serviceBehaviors>
а host web.config -
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IPaperService" clouseTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisojnMode="StringWildcard" maxBufferSize="1000000000" maxBufferPoolSize="1000000000" maxReceivedMessageSize="100000000" messageEncoding="text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="1000000000" maxArrayLength="1000000000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorthmSuite="Default" />
<security>
</binding>
Как я могу решить свою проблему?
Попробуйте установить minFreeMemoryPercentageToActivateService в 0 в файле yourweb.config для хоста WCF, как предложено в этом ответе
вместо изменения значения конфигурации WCF, Попытайтесь узнать, какой процесс рабочая память высок, попробуйте увидеть, если это действительно требует
Powershellcommand>> get-process | Sort-Object WS -desc >c:\process.txt
Также, чтобы узнать, указывает ли processid на пул приложений IIS
cmd.exe>> %systemroot%\system32\inetsrv\AppCmd.exe list wp
Разрешив ноль в config, это может активировать, может привести к повреждению состояния службы для памяти, недоступной причине - это может быть не так прямолинейно в природе:(
Мои 2 цента...
Бывают ситуации, когда изменение web.config не является вариантом. В нашем случае мы решили это, увеличив объем памяти сервера с 8 до 16 ГБ.
Эта проблема возникает, если оперативная память вашей системы занята более чем на 95%, остановите некоторые нежелательные процессы и повторите попытку вызова службы.
Я использовал монитор ресурсов на своем веб-сервере MS 2008 R2, чтобы определить, что SQL Server потребляет более 29 концертов из моих доступных 32.
Прочитав другие мнения о том, сколько памяти выделяется SQL, я устанавливаю максимальную память на 24 концерта. Максимальное ограничение памяти сервера можно найти на вкладке памяти свойств SQL Server.
УТИЛИЗИРУЙТЕ СВОЙ БАССЕЙН