sli*_*god 1 .net memory-leaks windbg
我一直在尝试识别应用程序中的内存泄漏。我制作了该进程的转储文件,并使用 Windbg 对其进行了查看。当我执行 !dumpheap -stat 并总结内存的总使用量时,其总计为 1.6GB。但创建转储时,它自己的进程使用了近 2.8GB。谁能告诉我丢失的 1.2GB 在哪里?
!dumpheap并没有按照你的想法去做。它转储托管堆,这只是 .NET 进程的一部分。例如,程序集中的代码(IL 和 JIT 编译的代码)不存储在托管堆上。此外,本机程序集分配自己的内存,这些内存也不会显示在托管堆上。因此,您永远不会看到托管堆的大小与进程的大小相匹配。没有一个地方可以查找剩余内存使用情况。通过使用 vmmap,您也许可以获得一些额外的见解。
| 归档时间: |
|
| 查看次数: |
2787 次 |
| 最近记录: |