Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net web应用程序内存泄漏调查_Asp.net_Performance_Memory Leaks_Perfview - Fatal编程技术网

ASP.Net web应用程序内存泄漏调查

ASP.Net web应用程序内存泄漏调查,asp.net,performance,memory-leaks,perfview,Asp.net,Performance,Memory Leaks,Perfview,在运行Asp.NET4.0的网站上调查性能问题时,需要提供建议 网站上的一些背景信息: 该网站是一个建立在电子商务框架之上的网店,在许多项目中已经证明了其稳定性和可靠性。Webshop已经稳定运行了一段时间(一年),但在客户将其ERP(MS Dynamics NAV)升级到更高版本后,性能问题很快开始上升 问题本身: 应用程序池正常启动,但会消耗几乎所有可用内存。所以,显然这是一个内存泄漏的情况 更具体的例子: 昨晚应用程序池重新启动,使用的内存约为500 MB。在大约16-18小时内,该池的运

在运行Asp.NET4.0的网站上调查性能问题时,需要提供建议

网站上的一些背景信息

该网站是一个建立在电子商务框架之上的网店,在许多项目中已经证明了其稳定性和可靠性。Webshop已经稳定运行了一段时间(一年),但在客户将其ERP(MS Dynamics NAV)升级到更高版本后,性能问题很快开始上升

问题本身:

应用程序池正常启动,但会消耗几乎所有可用内存。所以,显然这是一个内存泄漏的情况

更具体的例子: 昨晚应用程序池重新启动,使用的内存约为500 MB。在大约16-18小时内,该池的运行速度已经达到了2G左右。池将继续增长,直到几乎所有内存都被消耗,应用程序变得非常缓慢

应用程序池的内存快照是在池重新启动后,以2 Gig的速度通过PerfView拍摄的。
快照的差异附在下面:

正如您所看到的,顶行是mscrolib!LocalDataStoreHolder。如果我尝试打开有关它的详细信息,我可以从视图中看到以下内容: 问题是-我无法打开这些节点中的任何一个以获取更详细的信息。所以现在我不知道是什么在吞噬记忆。
如果有任何帮助,下面是RefTree屏幕截图。在这里你可以看到,强力手柄占92.2%。

所以问题是——有人能提供一些关于如何深入细节的提示或想法吗?如何找出,是什么导致了内存泄漏

先谢谢你

编辑: 我还尝试了RedGate ANTS内存配置文件,这在这里的各种线程中都有很多建议。 下面是我拍摄了几张内存快照后的总结图片,最近一张是在20小时后拍摄的,应用程序池占用了大约3.7GB的内存。 如您所见,左侧的巨大红色块是“非托管”的,大小为2.5 Gb。正如ANTS所说,CLR本身、图形数据或通过P/Invoke或COM+访问的非托管数据都会使用这些数据。不过,不知道如何获得更深入的细节。
PerfView无法还原64位应用程序的堆栈(您可以在原始文档中找到)。您的应用程序可能是64位应用程序。
如果可能,请尝试重新编译并以32位的形式执行。PerfView无法还原64位应用程序的堆栈(您可以在原始文档中找到)。您的应用程序可能是64位应用程序。 如果可能-尝试重新编译并以32位的形式执行