gpt4 book ai didi

asp.net - 在 ASP.NET Web App 中查找内存泄漏

转载 作者:可可西里 更新时间:2023-11-01 12:44:39 24 4
gpt4 key购买 nike

我在 WIN SERVER 2008 R2 Enterprise 64 位 2.53 Ghz (2 CPU) 和 8GB RAM 的单个生产服务器(虚拟)上托管 7 个网站。

Web 服务器是 IIS 7,所有网站都带有 .NET Framework 4.0 应用程序池。

我当前的内存使用量约为 8GB 中的 4.16 GB,w3wp.exe 是消耗大部分内存使用量(此时约 1.6 GB)的进程,其次是 sqlservr.exe(1.5 GB)使用量。

我想做的是知道 7 个网站中哪个网站占用的内存最多,以便我查看。

我已经尝试过 Process Explorer 和 Resource monitor,但它只能显示 w3wp.exe 占用了多少 rem,而不能显示单个网站的使用情况。

有没有一种方法可以确定内存占用者的位置?

最佳答案

您可以使用 Microsoft 的 Debug Diag 进行内存转储工具。

基本流程是:

  • 启动 DebugDiag
  • 取消向导
  • 点击“进程”标签
  • 选择 w3wp
  • 右键单击并选择“创建完整转储”
  • 暗自窃笑,因为你说的是​​“倾倒”
  • 转储完成后(再次窃笑),单击“高级分析”选项卡
  • 使用 2 个 Memory Pressure Analyzer 脚本查看您是否可以看到哪些对象正在使用大量内存。

我建议结合 Uri May 的回答来执行此操作,否则您可能会浪费很多时间。

关于asp.net - 在 ASP.NET Web App 中查找内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com