.net内存使用情况报告任务管理器和windbg / sos之间的差异

时间:2013-06-18 19:02:41

标签: memory-management .net-3.5 windbg sos

我有一个.net应用程序。在任务管理器中,它在内存(私有工作集)列中显示249 MB的使用情况。然后我附上windb并运行!address -summary命令。以下是其结果。它在.NET堆(RegionUsageIsVAD)中显示的内存使用量为568 MB。 这两个值应该相同吗?任何人都可以解释为什么两个值之间有这么大差异?

--------------------使用摘要------------------------- -
    TotSize(KB)Pct(Tots)Pct(Busy)用法
    22b7c000(568816):27.12%64.42%:RegionUsageIsVAD
   4a1b3000(1214156):57.90%00.00%:RegionUsageFree
    e8e6000(238488):11.37%27.01%:RegionUsageImage
    1c00000(28672):01.37%03.25%:RegionUsageStack
          0(0):00.00%00.00%:RegionUsageTeb
    2dda000(46952):02.24%05.32%:RegionUsageHeap
          0(0):00.00%00.00%:RegionUsagePageHeap
       1000(4):00.00%00.00%:RegionUsagePeb
          0(0):00.00%00.00%:RegionUsageProcessParametrs
          0(0):00.00%00.00%:RegionUsageEnvironmentBlock
       总数:7fff0000(2097088 KB)忙:35e3d000(882932 KB)

--------------------类型摘要------------------------- -
    TotSize(KB)Pct(Tots)用法
   4a1b3000(1214156):57.90%:
   11ce9000(291748):13.91%:MEM_IMAGE
    9fe9000(163748):07.81%:MEM_MAPPED
   1a16b000(427436):20.38%:MEM_PRIVATE

--------------------状态摘要------------------------- -
    TotSize(KB)Pct(Tots)用法
   2e2a0000(756352):36.07%:MEM_COMMIT
   4a1b3000(1214156):57.90%:MEM_FREE
    7b9d000(126580):06.04%:MEM_RESERVE

最大的自由区域:基数32ce9000 - 大小15377000(347612 KB)

1 个答案:

答案 0 :(得分:2)

!地址只显示地址空间使用情况。一些内存被分页。工作集(实际上内存和正在使用的内存)要小得多。