此问题与我的previous question相关。
故事情节:我有一个耗费大量内存的.NET应用程序 如果您查看任务管理器 VMSize 。我试图找出消耗这么多内存的东西。
您在下图中看到VM大小 2,46 GB alt text http://i060.radikal.ru/1003/1c/c2c144853eb5.jpg
好的,现在我正在查看.net性能计数器
alt text http://s006.radikal.ru/i213/1003/30/dd42433cd12d.jpg
提交和保留字节仅加起来 1,2 GB
现在让我们来看看windb sos调试。 让我们运行eeheap -gc命令
alt text http://s001.radikal.ru/i194/1003/e8/9da33856ed58.jpg
GC使用的堆大小仅 340 MB 。剩下的二手记忆在哪里? 我需要发现为什么TaskManager中的WM大小是2.4 GB
更新
--------------------------------------
Total LoaderHeap size: 0x74c000(7651328)bytes
=======================================
Number of GC Heaps: 1
generation 0 starts at 0x0000000081b89d00
generation 1 starts at 0x0000000081a83b20
generation 2 starts at 0x0000000001281000
ephemeral segment allocation context: none
segment begin allocated size
0000000001280000 0000000001281000 00000000057416a0 0x00000000044c06a0(72091296)
000000004ad00000 000000004ad01000 00000000513c1cc8 0x00000000066c0cc8(107744456)
000000007fff0000 000000007fff1000 000000008994e310 0x000000000995d310(160813840)
Large object heap starts at 0x0000000011281000
segment begin allocated size
0000000011280000 0000000011281000 00000000112c67d0 0x00000000000457d0(284624)
Total Size 0x14523e48(340934216)
------------------------------
GC Heap Size 0x14523e48(340934216)