我正在使用dotMemory来配置在IIS上运行的asp.net mvc应用程序。
我怀疑'获取快照'会导致GC gen2运行。为什么? 这是图片:
答案 0 :(得分:6)
是的,这是正常行为,因为它在获取快照之前执行完整的垃圾回收。如果你看到快照时内存使用量下降,那就是一个好兆头。
只有存在内存压力时,垃圾收集器才会清除内存。如果要检查内存泄漏,则必须执行完整的垃圾回收并获取快照。如果还有什么东西是内存泄漏的话。
通常,在执行要测试的功能后,应该获得一个干净的基本快照,然后再获得另一个干净的快照,然后比较两个快照。
答案 1 :(得分:2)
Microsoft分析API正在以这种方式工作,dotMemory启动垃圾收集并在GC期间收集对象图。