0

我们有一个托管在 Windows Azure 中的 ASP.NET MVC 网站。

RAM 飙升至约 3GB,因此我使用 Azure 诊断即服务 (DaaS) 工具进行了内存转储。

使用 Visual Studio 调试托管内存时,我发现我的托管代码只占用了这 3GB 中的 500MB,剩下 2.5GB 的内存下落不明。

这是 DaaS 内存分析报告的截图:

内存转储

以及证明文件大小的转储文件: 在此处输入图像描述

鉴于它不是我的托管代码,我该如何查看 w3wp 中的哪些代码正在占用我的 RAM?

编辑

调试诊断工具中有关虚拟内存的信息:

在此处输入图像描述

4

1 回答 1

0

正如我所看到的,您已经将内存转储下载到您的机器上,您可以下载最新版本的调试诊断工具并在转储文件上运行托管内存分析和“本机内存分析”。这将提供有关本机内存分配位置的一些信息,尤其是本机堆或虚拟分配。如果您共享指向该报告的链接或共享该报告中的信息,我们或许能够确定使用本机内存的位置。我不确定 DAAS 中生成的默认报告是否包含该信息。

该报告确实包含有关检测到的某些问题(如动态程序集等)的信息,因此您是否在报告顶部看到任何将已知问题称为错误、警告或信息的内容?

于 2015-06-02T17:01:54.683 回答