Bab*_*oey 3 memory windows wpf profiler
我在C#/ WPF应用程序中遇到了一些OutOfMemoryExceptions,并且在尝试分析内存使用情况时遇到了一些令人困惑的数据.
当应用程序通常运行时,Windows任务管理器将内存使用量显示为大约34 MB(在创建对象和收集垃圾时略微反弹).当我运行内存分析应用程序(如CLR Profiler和dotTrace Memory)时,它们显示总内存使用量大约为1.2 MB.
为什么这个巨大的差异?任务管理器看到这些分析器没有看到什么?
更新:我在我的应用程序中添加了一些诊断代码,以便经常通过Process类打印出各种内存信息.
在运行我的应用程序时,我在DebugDiag中设置了一个规则,以便在发生异常时执行内存转储.我强制异常并发生内存转储.此时,我的应用程序的内存使用量(由任务管理器显示)从32 MB跳到145 MB并保持不变.
您可以在下表中看到此跳转(WorkingSet64).我仍然试图理解Process类提供的所有类型的内存信息.外部应用程序如何使我的应用程序的工作集像这样增长?