我有一些ASP.NET(4.0)Web应用程序似乎在每个请求期间泄漏(少量)的内存.这是一个很小的数量,对于大多数用例,它不会成长成为一个问题,一个星期甚至几个月.我通常尝试关闭应用程序管理的任何连接,避免状态变量(或单例的实例变量)等.
我的问题是这是ASP.NET应用程序的这种正常行为吗?我已经关闭了在空闲20分钟后回收应用程序池的默认(IIS 7)行为.我这样做是因为应用程序需要几分钟的时间来构建其内部缓存,我想避免对用户体验造成负面影响(并让他们等待应用程序在发出请求时启动).
我知道这可以通过序列化缓存或加快缓存生成过程来缓解,但是我的问题更多地与其原理相关:我个人认为依靠IIS自动回收功能作为带状方法.我错了吗?我只是没有看到垃圾收集器在工作,因为应用程序的内存使用量不够高,相比可用的内存量?或者我应该深入了解内存问题?
任何见解将不胜感激.