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

前端之家收集整理的这篇文章主要介绍了在ASP.NET Web App中查找内存泄漏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在WIN SERVER 2008 R2 Enterprise 64位上以2.53 Ghz(2 cpu)和8 GB RAM在单个生产服务器(虚拟)上托管7个网站.

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

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

我想做的是知道7个网站中哪个网站消耗的内存最多,以便我可以看看.

我已经尝试过Process Explorer和资源监视器,但它只能显示w3wp.exe占用了多少内存,而不是单个网站的使用情况.

有没有办法让我能指出内存hogger?

解决方法

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

基本过程是:

>启动DebugDiag
>取消向导
>单击“进程”选项卡
>选择w3wp
>右键单击并选择“创建完整转储”
> Snigger静静地对自己说因为你说“转储”
>转储完成后(再次触发),单击“高级分析”选项卡
>使用2 Memory Pressure Analyzer脚本查看您是否可以看到哪些对象正在使用大量内存.

我建议结合Uri May的答案这样做,否则你可能会浪费很多时间.

猜你在找的asp.Net相关文章