我试图限制IIS 8.5中的应用程序池使用的内存。 我的问题是,如果我把一个看起来比典型的内存使用量大得多的限制,几分钟就会回收一次。
上下文信息如下。
最初,我已经从用户界面的8GB的限制和我的applicationhost.config看起来像这样:
<add name="AppPool" autoStart="true" managedRuntimeVersion="v4.0" startMode="AlwaysRunning"> <processModel idleTimeout="00:00:00" /> <recycling logEventOnRecycle="Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"> <periodicRestart memory="8192000" time="00:00:00"> <schedule> <clear /> <add value="01:00:00" /> </schedule> </periodicRestart> </recycling>
读了这篇文章 ,我意识到价值可能是无效的,因为它表示最大价值4,294,967 KB。 所以,我把这个值(来自用户界面),它正确地反映在configuration文件。
如果我删除了内存限制, w3wp进程不会超过2GB的已用内存,并且不会发生回收。
通过阅读事件查看器(源= WAS)确认回收的原因(达到内存限制)。
问题:如何在没有回收问题的情况下configuration内存限制?