【发布时间】:2012-04-25 13:07:07
【问题描述】:
.Net winform 应用程序。
我使用了几个内存分析器,包括 CLR 分析器、DotTrace 内存、Net 内存分析器。 工具给出的结果是分配的内存是38-40M。但是我发现任务管理器中的工作集是300-400M(几乎与Peak工作集或内存或提交大小相同。
那么这两个结果有什么区别呢?结果是什么意思?
【问题讨论】:
.Net winform 应用程序。
我使用了几个内存分析器,包括 CLR 分析器、DotTrace 内存、Net 内存分析器。 工具给出的结果是分配的内存是38-40M。但是我发现任务管理器中的工作集是300-400M(几乎与Peak工作集或内存或提交大小相同。
那么这两个结果有什么区别呢?结果是什么意思?
【问题讨论】:
这些工具可能会向您显示私有字节或托管堆大小,这不包括,例如内存映射文件,无论是支持页面文件还是支持磁盘文件,您的应用程序可能正在读/写 映射文件很大,因此工作集看起来很大,或者您的应用程序只是加载了太多的 dll/程序集。 VMMAP(来自 sysinternals)可以清楚地概述您的应用中的内存类型/大小。
【讨论】: