我有一个C#应用程序,其内存使用时间增加.我定期进行用户模式转储,加载sos后,运行!EEHeap -gc来监控托管堆大小.在windbg/sos中我看到它开始~14MB并且长到160MB,然后缩减到15MB,但应用程序"Private Bytes"从未显着下降.我已经确定了可以控制"私有字节"增加的活动,因此我可以控制内存增长何时发生.
我尝试运行Vmmap.exe并注意到它报告了~360MB的托管堆,快速转储并使用windbg/sos/eeheap -gc我只看到15MB.
为什么我会看到这样不同的价值观?托管堆真的是vmmap.exe报告的吗?
如何在windbg中检查托管堆的这个区域?