0

我们有一个 Web 应用程序出现异常,但 type 异常System.OutOfMemoryException。我们正在寻找解决问题的根本原因。

在此之前,我们每周都会执行应用程序池回收,以免发生此事件。

每周回收应用程序池是否会给网站带来更多麻烦?

4

1 回答 1

1

在您的 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站点你担心会消耗太多内存,又因为其他应用程序不得不回收应用程序池,那么很难判断是否有并发症。我们也每周回收一次应用程序池,我们不会遇到任何问题。显然,我们是在工作时间和高峰时间之外进行的。
如果其他应用程序占用过多内存,您可以尝试将它们放在不同的应用程序池中,这样就不会干扰网站?

于 2013-07-24T07:33:03.297 回答