【问题标题】:memory leak in .net application, debugdiag analysis is not giving GC details.net 应用程序中的内存泄漏,调试诊断分析未提供 GC 详细信息
【发布时间】:2017-12-07 01:33:30
【问题描述】:

我们有一个托管在 IIS 上的 asp.net 网站,如果我的应用程序运行超过一天,它使用超过 4 GB 并保持不变。目前我们有一套回收作为解决方法。我正在使用 debugdiag 找出泄漏的根本原因。

编辑:

我尝试按照this 使用windbg,但手动分析并没有真正帮助。但我发现debugdiag 的自动分析可以告诉您哪些.net 对象正在消耗大多数对象。按照这些articles 和这个来自Microsoft

本来希望看到类似 的 .net 信息,但我收到了错误“您的浏览器设置当前禁止运行此报告的脚本”

我关注了 thisthis 文章,但分析并未提供有关 .NET 的太多详细信息,这是一个纯 .NET 应用程序。我期待看到消耗内存的 .NET 对象和 GC 详细信息等。

【问题讨论】:

  • 如果你不能在你认为错误所在的地方发布一些代码,这完全是题外话(因为我们不可能知道在哪里看)
  • 如果你不知道,debugdiag 是 microsoft 的工具之一,用于分析内存转储以找出问题所在。asp.net 上的 debugdiag 不起作用,怎么跑题了?
  • 您能介绍一下您的asp.net 应用程序的一些功能吗? .NET 版本?和你的服务器?如果可能的话,还有你的一些代码。
  • 我正在使用 .NET 4 运行时,它是一个 asp.net webforms+webapi 。内存泄漏代码部分是我试图通过使用windbg或debugdiag分析来找出。

标签: asp.net .net memory-leaks windbg debugdiag


【解决方案1】:

要使 debugdiag 正常工作,您必须拥有相同版本的 .net 框架(应用程序的)安装在分析机器上 也是。

有关分析的更多详细信息,请参阅此SO post

【讨论】:

  • 感谢您的提示。当我在开发机器上运行时,它起作用了。我在另一台机器上运行分析,因为我的原始机器是生产环境。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 2012-10-09
  • 2013-05-03
  • 1970-01-01
相关资源
最近更新 更多