gpt4 book ai didi

.net - 我的内存去哪儿了?大的私有(private)字节数

转载 作者:行者123 更新时间:2023-12-04 11:32:39 27 4
gpt4 key购买 nike

我有一个 WPF 应用程序,除其他外显示很多图像,大大小小的。
我的问题是该应用程序使用了大量内存,我无法弄清楚它来自哪里。

这种情况下,当强调应用程序时,我会在 perfmon 中得到这个图表:

http://www.imagechicken.com/uploads/1244548604007097000.jpg

大黑线是 Process\Private 字节,其他线是 CLR 内存计数器(粉红色的是总提交字节数)

图中的数字是:
私有(private)字节 ~ 350 Mb
提交的字节 ~ 100 Mb

我一直在使用 WinDbg 和其他工具进行大量研究,它们都报告托管堆栈的行为(!eeheap 报告总托管堆栈约为 100 Mb)

我一直在探索 LeakDiag、LDGrapher 等应用程序,但一无所获。

所以,最后我的问题,我如何继续找出我的内存去向?

即使只是启动应用程序,也使用 100Mb 的提交字节,但 190Mb 的私有(private)字节。

引用文献:

我已经阅读了很多关于此的内容,其中包括一些很棒的网站:

苔丝·费兰德斯:http://blogs.msdn.com/tess/archive/2009/02/27/net-memory-leak-reader-email-are-you-really-leaking-net-memory.aspx

里科·马里亚尼:http://blogs.msdn.com/ricom/archive/2004/12/10/279612.aspx

MSDN 杂志:http://msdn.microsoft.com/en-us/magazine/cc163528.aspx

最佳答案

我在 WPF 应用程序中遇到了类似的问题,并且 used UMDH to track分配 native 内存的位置。 (请注意,set _NT_SYMBOL_PATH 通常有助于从操作系统组件获得良好的堆栈跟踪。

日志显示几乎所有内存都在视频驱动程序中分配。我发现驱动程序已经过时一年多了;我从制造商的网站安装了最新版本并解决了问题。

关于.net - 我的内存去哪儿了?大的私有(private)字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/974091/

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