为什么IIS每15分钟回收一次我的应用程序池?

今天,我们在ASP.NET MVC IIS 7 Web应用程序上有大量的用户。

我注意到约。 每隔15分钟,应用程序池进程就会被终止,并启动一个新进程。

我没有find任何具体的原因。 我可以想象 ,内存限制被打,但我发现没有办法来validation这一点。

应用程序池具有默认设置。

所以我的问题是:

  • 我可以在什么地方阅读(Event Log?)为什么应用程序池被回收?

更新1

这是一段时间以来的记忆。 看来,当它运行到12 GB(服务器的物理内存)时,进程正在被杀害:

在这里输入图像说明

一个假设是,对于每个用户来说,这个用户的会话需要一些字节的RAM,所以当新用户进入系统时,内存变得越来越大。

回答您的具体问题,是的,您可以在Windows系统事件日志中查看应用程序池回收事件。 筛选事件来源“WAS”。

默认情况下,只logging下面的回收原因;

  • 超出专用内存限制
  • 正常时间间隔
  • 超出虚拟内存限制

您可以更改默认值并启用其他回收事件的日志logging

Application Pool | Advanced settings | Recycling | Generate Recycle Event Log Entry

默认情况下,应用程序池将不会回收虚拟内存限制或私有内存限制(默认限制设置为0 =从不)。