问题描述
我有一个Web应用程序,它在IIS 7 Windows Server 2008上运行时最终耗尽内存。当我尝试运行内存分析器对应应用程序以确定泄漏时,它在我的开发工作站上无法再现。 .. Windows Vista。
服务器和工作站之间的GC收集周期不一致,看起来服务器的收集并没有收回所有的内存,而是最终运行出。服务器变得无法响应,并抛出内存异常。
我们已经尝试设置存活了太多世代的对象,以致无法执行...发现了一些改进。 >
任何协助/建议将不胜感激
提供了一些有关使用Windbg调试内存泄漏的信息。通过运行正在运行的应用程序的转储,然后在Windbg中分析它,您应该能够找到您所看到的泄漏源。
以下条目可能是一个很好的起点:
祝您好运!
I have a web application that is eventually running out of memory when it runs on IIS 7 Windows Server 2008. When I attempt to run a memory profiler against the application to determine the leak, it is not reproducible on my development workstation...Windows Vista.
The GC collection cycles are not consistent between the server and the workstation and it appears the server's collection is not reclaiming all of its memory and is eventually running out. The server becomes non responsive and throws out of memory exceptions.
We have tried setting objects that are surviving too many generations to null...Some improvement was noticed.
Any assistance/recommendations would be greatly appreciated
Tess Ferrandez's blog has some great information on debugging memory leaks using Windbg.
By taking a dump of the running application and then analysing it in Windbg, you should be able to find the source of the leaks you are seeing.
The following entries are probably a good starting point:
Good luck!
这篇关于GC在IIS 7应用程序上运行不够 - Windows Server 2008的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!