.net typeperf报告的内容与其他所有工具(mem profiler、process explorer、完全转储)之间的差异
尝试对同一个.NET3.5应用程序的两个版本进行前后比较时,我会得到不一致的结果,这取决于我使用的工具 typeperf——我认为这是权威性的——说:.net typeperf报告的内容与其他所有工具(mem profiler、process explorer、完全转储)之间的差异,.net,memory-profiling,memory-dump,process-explorer,.net,Memory Profiling,Memory Dump,Process Explorer,尝试对同一个.NET3.5应用程序的两个版本进行前后比较时,我会得到不一致的结果,这取决于我使用的工具 typeperf——我认为这是权威性的——说: v1:244MB/260MB(专用字节/工作集) v2:281MB/296MB Process Explorer在性能图中显示以下数字: v1:283MB(专用字节) v2:262MB 所以typeperf说v2需要更多内存,Process Explorer则相反 这些都是独立的测量和不同的运行,但数据的重现令人惊讶地可靠 除了上面提到的
- v1:244MB/260MB(专用字节/工作集)
- v2:281MB/296MB
- v1:283MB(专用字节)
- v2:262MB
- v1:484MB(完全转储文件大小)
- v2:480MB
谁是对的,我怎么知道呢?我很清楚问题出在哪里:在我的测试中,我没有给GC足够的时间来完成它的工作
- v1创建了垃圾并保留了对它的引用(->内存泄漏),所以没有什么需要清理的
- 但是v2创建了垃圾并释放了引用
这对我来说就解释了。我很清楚问题出在哪里:在我的测试中,我没有给GC足够的时间来完成它的工作
- v1创建了垃圾并保留了对它的引用(->内存泄漏),所以没有什么需要清理的
- 但是v2创建了垃圾并释放了引用