频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Out Of Memory的分析及诊断方法

来源:pcdog 作者:佚名 出处:巧巧读书 2008-01-18 进入讨论组

  上面的信息比较有意思,RegionUsageImage代表的是dlls占用的内存,一共是100M;RegionUsageheap,代表的是NT heaps,一共是73M;MEM_COMMIT和MEM_RESERVE加起来,是virtual memory,他俩的合计是322M.我们还少看了什么?

!eeheap还有一个参数,是-loader,运行一下后,会有N长的结果,我们看一部分。

  !eeheap –loader,

  Domain 2: fbd98

  LowFrequencyHeap: 03ba0000(2000:2000) 03d80000(10000:10000) 03ee0000(10000:10000) 040b0000(10000:10000) 04ea0000(10000:10000) 04f70000(10000:f000) 05190000(10000:10000) 很黄很暴力…… 1edc0000(10000:10000) 1ee00000(10000:3000) Size: 0x1ce2000(30285824)bytes.

  Wasted: 0x13000(77824)bytes.

  HighFrequencyHeap: 03ba2000(8000:8000) 03e10000(10000:f000) 04aa0000(10000:10000) 050c0000(10000:f000) 05180000(10000:10000) 05430000(10000:10000) 056d0000(10000:10000) 很黄很暴力 1eba0000(10000:10000) 1ee30000(10000:3000) Size: 0x7a9000(8032256)bytes.

  Wasted: 0x2000(8192)bytes.

  StubHeap: 03baa000(2000:1000) Size: 0x1000(4096)bytes.

  Virtual Call Stub Heap:

  IndcellHeap: Size: 0x0(0)bytes.

  LookupHeap: Size: 0x0(0)bytes.

  ResolveHeap: Size: 0x0(0)bytes.

  DispatchHeap: Size: 0x0(0)bytes.

  CacheEntryHeap: 03bc3000(3000:1000) Size: 0x1000(4096)bytes.

  Total size: 0x248c000(38322176)bytes

  一共占用了38M内存。继续看下面的内容,我居然发现了9998个module!!!

  Module Thunk heaps:

  Module 699aa000: Size: 0x0(0)bytes.

  Module 648e8000: Size: 0x0(0)bytes.

  Module 01963a34: Size: 0x0(0)bytes.

  Module 66366000: Size: 0x0(0)bytes.

  =============很黄很暴力======================

  Module 1ee30010: Size: 0x0(0)bytes.

  Module 1ee30634: Size: 0x0(0)bytes.

  Module 1ee30c44: Size: 0x0(0)bytes.

  Module 1ee3124c: Size: 0x0(0)bytes.

  Total size: 0x0(0)bytes

  --------------------------------------

  Total LoaderHeap size: 0x2a3f000(44298240)bytes

  =======================================

  问题基本出来了,居然在内存里面有将近1万个module!随便dump出来一个,看看。这里又有一个命令:!dumpmodule

  随便dump出来一个看,类似如下信息:

  0:000> !dumpmodule 1ee30010

  Name: qrt-x6cw, Version=4.0.460.0, Culture=neutral, PublicKeyToken=null

  Attributes: PEFile

  Assembly: 1cf04e28

  LoaderHeap: 00000000

  TypeDefToMethodTableMap: 1edcc454

  TypeRefToMethodTableMap: 1edcc46c

  MethodDefToDescMap: 1edcc4c4

  FieldDefToDescMap: 1edcc530

  MemberRefToDescMap: 1edcc54c

  FileReferencesMap: 1edcc634

  AssemblyReferencesMap: 1edcc638

  MetaData start address: 1ed20848 (4256 bytes)

  这里可能看不到啥,那么我们加一个参数-mt来看看

  0:000> !dumpmodule -mt 1ee30010

  Name: qrt-x6cw, Version=4.0.460.0, Culture=neutral, PublicKeyToken=null

  Attributes: PEFile

  Assembly: 1cf04e28

  LoaderHeap: 00000000

  TypeDefToMethodTableMap: 1edcc454

  TypeRefToMethodTableMap: 1edcc46c

  MethodDefToDescMap: 1edcc4c4

  FieldDefToDescMap: 1edcc530

  MemberRefToDescMap: 1edcc54c

  FileReferencesMap: 1edcc634

  AssemblyReferencesMap: 1edcc638

  MetaData start address: 1ed20848 (4256 bytes)

  Types defined in this module

  MT TypeDef Name

  ------------------------------------------------------------------------------

  1ee3059c 0x02000003 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderCreateUserResponseData

  1ee3046c 0x02000006 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializerContract

  Types referenced in this module

  MT TypeRef Name

  ------------------------------------------------------------------------------

  69e58eac 0x01000002 System.Xml.Serialization.XmlSerializationReader

  69e59b84 0x01000004 System.Xml.Serialization.XmlSerializerImplementation

  03e10b4c 0x01000005 Microsoft.Provisioning.WebServices.HostedActiveDirectory.CreateUserResponseData

  69e32be0 0x01000006 System.Xml.XmlReader

  790fd8cc 0x01000007 System.Collections.Hashtable

  790f8a94 0x0100000e System.Object

  69e35c38 0x01000013 System.Xml.XmlQualifiedName

  79103c18 0x01000014 System.Boolean

  69e3a5b0 0x01000015 System.Xml.XmlNameTable

  出现了System.Xml.Serialization,大家熟悉吗?我们转过头来看debugdiag分析的call stack.

  Call stack sample 1

  Address 0x0c790000

  Allocation Time 00:05:04 since tracking started

  Allocation Size Bytes

  Function Source Destination

  mscorjit!norls_allocator::nraAllocNewPage+52

  mscorjit!norls_allocator::nraAlloc+19 mscorjit!norls_allocator::nraAllocNewPage

  mscorjit!jitNativeCode+84 mscorjit!norls_allocator::nraAlloc

  mscorjit!CILJit::compileMethod+3d mscorjit!jitNativeCode

打开: http://www.qqread.com/aspdotnet/b393673.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章