我们有一个 Web 应用程序出现异常,但 type 异常System.OutOfMemoryException
。我们正在寻找解决问题的根本原因。
在此之前,我们每周都会执行应用程序池回收,以免发生此事件。
每周回收应用程序池是否会给网站带来更多麻烦?
我们有一个 Web 应用程序出现异常,但 type 异常System.OutOfMemoryException
。我们正在寻找解决问题的根本原因。
在此之前,我们每周都会执行应用程序池回收,以免发生此事件。
每周回收应用程序池是否会给网站带来更多麻烦?
在您的 Sitecore 站点的 web.config 中,您可以设置MemoryMonitorHook
清除一些内存:
<hooks>
<hook type="Sitecore.Diagnostics.MemoryMonitorHook, Sitecore.Kernel">
<param desc="Threshold">800MB</param>
<param desc="Check interval">00:05:00</param>
<param desc="Minimum time between log entries">00:01:00</param>
<ClearCaches>true</ClearCaches>
<GarbageCollect>true</GarbageCollect>
<AdjustLoadFactor>true</AdjustLoadFactor>
</hook>
</hooks>
这基本上告诉 Sitecore 开始清除缓存并在内存使用量超过 800MB 时调用 GC。
这样您就不必手动回收应用程序池。
如果不是Sitecore站点你担心会消耗太多内存,又因为其他应用程序不得不回收应用程序池,那么很难判断是否有并发症。我们也每周回收一次应用程序池,我们不会遇到任何问题。显然,我们是在工作时间和高峰时间之外进行的。
如果其他应用程序占用过多内存,您可以尝试将它们放在不同的应用程序池中,这样就不会干扰网站?