【问题标题】:How to debug Azure Web App memory leaks?如何调试 Azure Web App 内存泄漏?
【发布时间】:2016-07-02 01:02:45
【问题描述】:

SCM 门户中有出色的 Start Profiling 按钮,非常适合 CPU。

还有一些引用Download GC Dump 按钮的来源: https://stackoverflow.com/a/27987593/647845

但这似乎不再可用。

然后是Download memory dump 按钮。 但现在我不知道如何/是否可以看到我也使用的 Type / Refcount / Size 统计信息。

在 C# Azure Web 应用程序中查找内存泄漏的推荐方法是什么?

【问题讨论】:

    标签: debugging azure memory-leaks azure-web-app-service memory-dump


    【解决方案1】:

    尝试使用 Kudu 控制台。 转至https://[sitename].scm.azurewebsites.net/support 单击分析 -> 诊断 -> 设置。确保检查内存转储 然后单击立即诊断。 这仅适用于基本计划及以上(不适用于免费计划) 一段时间后你会得到转储 使用 Visual Studio 打开下载的文件并选择“调试托管内存”。 然后您可以查看详细信息。

    【讨论】:

    • 嗨@GhandaliSamant,感谢您的回答。当我这样做时,我得到Unhandled exception at 0x0000000000000000 in w3wp_39104_8a58_2016-03-16_14-23-22-814_98c0.dmp: 0x80000007: Operation aborted. 任何想法?
    • 让我试着回去。那没有发生在我身上。您是在哪一步收到此错误的?
    • 该 Kudu 支持页面已被弃用。现在可以在 Azure 门户中为选定网站的“诊断和解决问题”下获取内存转储。
    【解决方案2】:

    很遗憾,kudu 支持页面已被弃用。您现在可以在Diagnose and solve problems 下找到它:

    下载转储文件后,在 Visual Studio 中打开它们并单击“收集内存转储”,例如 the accepted answer from Grandhali suggested

    【讨论】:

      【解决方案3】:

      我看到这个帖子已经很老了,但是由于我遇到了同样的问题,并且在我想在这里发布一些更新的时间里,Azure 门户发生了很大变化。

      此 Microsoft 开发人员博客快速概述了该主题:https://devblogs.microsoft.com/premier-developer/collect-and-automate-diagnostic-actions-with-azure-app-services/

      我通过在 Azure 门户中导航到我的 App Service 并选择 Diagnose and solve questions 成功地进行了内存泄漏分析 然后是 诊断工具 磁贴。现在您应该会看到一个收集内存转储图块,您可以在其中通过配置 blob 存储来创建内存转储以将其保存到。

      之后我下载了转储文件并使用 Visual Studio 来分析问题。

      【讨论】:

        【解决方案4】:

        您可以使用 Kudu Console 下载内存转储并使用 DebugDiag 对其进行分析,您可以拥有多个内存转储,一个在泄漏发生之前,一个在泄漏发生期间,一个在泄漏之后,稍后您可以比较并查看哪些对象是规模越来越大,却没有被丢弃

        【讨论】:

          【解决方案5】:

          从 Visual Studio 远程分析 Azure Web 应用程序可能是最佳选择。

          https://azure.microsoft.com/en-us/blog/remote-profiling-support-in-azure-app-service/

          【讨论】:

          • 嗨,克里斯,感谢您的回答。该功能适用​​于 CPU,但似乎尚不支持内存。另请参阅 Hadmi Safa 的评论 No, CPU profiles are only currently supported.
          • 仅适用于 CPU。不支持内存
          猜你喜欢
          • 1970-01-01
          • 2010-12-01
          • 2021-01-10
          • 2010-11-23
          • 2018-11-22
          • 1970-01-01
          • 2017-03-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多