有人可以给我一步一步的指示,或者按照正确的顺序指出正确的参考资料
以便我可以确定此问题的根本原因?
答案 0 :(得分:2)
您可以获取进程的内存转储并查看WinDbg。它至少会给你一个例外列表和线程的当前状态。这样做会回收这个过程。也可以从visual studio以远程调试模式连接到QA型机器。但是我没有这样做,它会在你调试时挂起所有其他请求。
如果w3wp在本地运行,您可以右键单击任务管理器中的进程并选择debug以查看WinDbg。 否则,您需要在生产/测试计算机上使用类似Debug Diag的内容来创建完整的用户转储。请参阅:http://msdnrss.thecoderblogs.com/2008/05/21/debugdiag-11-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps/
我在二月份做了所有这些,并且从那以后就不需要了。由于为WinDbg获取符号并为应该存储的位置配置环境变量等,完整的一步一步实际上有点痛苦。
有关为ASP.NET检查设置WinDbg的信息,请查看以下文章: http://support.microsoft.com/kb/892277
答案 1 :(得分:1)
w3wp.exe是与ISS中的应用程序池关联的进程。如果您有多个应用程序池,则将运行多个w3wp.exe实例。
有关详细信息,请参阅this
答案 2 :(得分:0)
由于各种原因,w3wp.exe会消耗大量内存。
如果您怀疑前两个是问题,则需要扩展系统(添加额外的服务器等)。
内存泄漏会导致内存使用量逐渐增加。
如果您怀疑内存泄漏,可以考虑采取以下措施。