我们有一个 Web 应用程序,它与另一个(数据库)服务器上的 SQL Web 数据库通信。一些查询使 Web 服务器上的内存过度增加,直到我们收到内存不足的错误。例如,RAM 使用量从 250MB 增加到 2300MB,这都是由 w3wp(是的,IIS)进程引起的。
现在我的问题是,有什么工具可以实时监控这个 IIS 进程中发生的事情。堆栈跟踪,可能哪些对象存储在 RAM 中,等等
服务器在 Windows 2003 R2 上运行
顺便说一句:我听到人们在想……谷歌对我帮助不大,知识就在这里!
提前致谢!
我不是开发人员,所以我不能告诉你可以在你的应用程序中检测什么。但是,从系统:
这不是完全实时的,但您可以使用IIS 调试诊断工具在检测到发生内存泄漏时生成用户转储。
然后,您可以将该用户转储到DebugDiag以使其在转储中生成内存使用报告。