我经常收到此消息并认为这不常见,我如何解决这个问题?
服务于应用程序池'mywebsite.com'的进程ID为'8052'的工作进程已请求回收,因为它已到达私有 字节内存限制。
答案 0 :(得分:4)
嗨,由于超时,这不是一个过期,由于内存限制,它是一个应用程序池回收。通常非常糟糕。
如果您完全控制ASP.NET应用程序,我建议您仔细分析它并检测您分配的位置,而不是释放/处理大量内存。
了解用户经常使用的常见用例并开始调查这些用例可能会有所帮助。
你是否在内存中加载了很多byte []用于文件下载?
你在会话中保留了太多的引用吗?
一旦我们遇到类似的问题,我们几个星期后就发现我们在会话中存储了对页面的引用,因此所有访问过的页面始终保存在内存中。不容易找到,但一旦我们纠正了这个问题就解决了。
答案 1 :(得分:1)
你可能有内存泄漏。有许多可能的原因,可能是使用静态事件注册的会话或请求实例。尝试将过多数据加载到内存中的操作,会话超时设置太长等等。
您需要进行一些分析以确定原因。
当然,你也可能没有足够的内存用于用户数量并需要扩展,但除非你有大量的流量,否则这种情况极不可能。
答案 2 :(得分:0)
也许您的应用程序使用了大量内存?关于this post,您已达到应用程序允许的内存大小,IIS将重新启动应用程序池。