dump net core windbg 内存分析
!dumpheap -stat //检查当前所有托管类型的统计信息
0:000> !dumpheap -stat //检查当前所有托管类型的统计信息
....
00007ffdb9387a98 777101 69462436 System.Char[]
00007ffdb938c988 588917 115563505 System.Byte[]
00007ffdb9389220 1026406 119828936 System.Int32[]
00007ffdb93516a8 663559 128819040 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[System.Object, mscorlib]][]
00000218c6c30a80 6436865 197832116 Free
00007ffdae9cc240 23171 273333144 System.Collections.Generic.HashSet`1+Slot[[System.String, mscorlib]][]
00007ffdb9391f28 13885170 333244080 System.Boolean
00007ffd5c24a068 14003455 560138200 Kingdee.BOS.JSON.JSONArray
00007ffdb9386fc0 14373648 1393615400 System.Object[]
00007ffdb9386948 76146065 4000287202 System.String
Total 138435970 objects
!dumpheap -mt 00007ffdb9386948 -min 200 //查看mt内容
0:000> !dumpheap -mt 00007ffdb9386948 -min 200 //查看200byte以上的string
Address MT Size
...
0000021bcbaf5158 00007ffdb9386948 1140
0000021d375d1038 00007ffdb9386948 149698
0000021d375f5920 00007ffdb9386948 149698
0000021d3765b138 00007ffdb9386948 149706
0000021d37f739c8 00007ffdb9386948 217120
0000021d37fa8a08 00007ffdb9386948 190162
0000021d38047330 00007ffdb9386948 1224698
0000021d3829d348 00007ffdb9386948 1224698
0000021d386bd678 00007ffdb9386948 2610994
0000021d38bb8500 00007ffdb9386948 2610994 Statistics:
MT Count TotalSize Class Name
00007ffdb9386948 10991 76632628 System.String
Total 10991 objects
使用!do命令查看一个对象的内容
0.000> !do 0000021bcbaf5158 //使用!do命令查看一个对象的内容
Name: System.String
MethodTable: 00007ffdb9386948
EEClass: 00007ffdb8c850e0
Size: 1140(0x474) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String: 5b13710029d012False2052_T_BD_MATERIAL_MATERIAL.FAuxPropertyIdFBaseUnitIdFCategoryIDFChargeIDFCheckIncomingFDefaultVendorFErpClsIDFInvPtyIdFIsAffectPlanFIsAffectPlan1FIsBatchManageFIsComControlFIsEnableFIsEnable1FIsExpParToFlotFIsInventoryFIsPRFIsReturnMaterialFIsSourceControlFIsVmiBusinessFNameFNumberFPlanModeFPurchasePriceUnitIdFPurchaseUnitIdFPurPriceURNomFPurPriceURNumFPurURNomFPurURNumFReceiveAdvanceDaysFReceiveDelayDaysFReceiveMaxScaleFReceiveMinScaleFSalePriceUnitIdFSaleUnitIdFSpecificationFStockIdFStockPlaceIdFStoreUnitIDFTaxTypeFUseOrgId111193
Fields:
MT Field Offset Type VT Attr Value Name
00007ffdb9389288 400026f 8 System.Int32 1 instance 557 m_stringLength
00007ffdb9387b00 4000270 c System.Char 1 instance 35 m_firstChar
00007ffdb9386948 4000274 90 System.String 0 shared static Empty
>> Domain:Value 00000218c6c4d220:NotInit 0000021d52d81840:NotInit <<
使用!gcroot 查看一个对象的gc根
0:000> !gcroot 0000021bcbaf5158 //使用!gcroot 查看一个对象的gc根
HandleTable:
00000218c6ff15e8 (pinned handle)
-> 0000021cc75ebe68 System.Object[]
-> 0000021bc7629a10 Kingdee.BOS.Cache.KCacheManagerFactory
-> 0000021bc7629ab8 System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Kingdee.BOS.Cache.AbstractKCacheManager, Kingdee.BOS]]
-> 0000021c4da6fa48 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[Kingdee.BOS.Cache.AbstractKCacheManager, Kingdee.BOS]][]
-> 00000218c83861b8 Kingdee.BOS.Cache.KCacheManager
-> 00000218c8386630 Kingdee.BOS.Cache.ECache.ECacheManager
-> 00000218c83866e8 System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021bcbae0c70 System.Collections.Concurrent.ConcurrentDictionary`2+Tables[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021bcbad0128 System.Collections.Concurrent.ConcurrentDictionary`2+Node[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]][]
-> 0000021bcbb34bf8 System.Collections.Concurrent.ConcurrentDictionary`2+Node[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021bcbada790 System.Collections.Concurrent.ConcurrentDictionary`2+Node[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021a49766460 System.Collections.Generic.HashSet`1[[System.String, mscorlib]]
-> 00000219540976b0 System.Collections.Generic.HashSet`1+Slot[[System.String, mscorlib]][]
-> 0000021bcbaf5158 System.String Found 1 unique roots (run '!GCRoot -all' to see all roots).
!DumpObj /d 0000021975972b48 查看一个对象
0:000> !DumpObj /d 0000021975972b48 //查看第一个JSONArray
Name: System.Object[]
MethodTable: 00007ffdb9386fc0
EEClass: 00007ffdb8d4aa00
Size: 88(0x58) bytes
Array: Rank 1, Number of elements 8, Type CLASS (Print Array)
Fields:
None
!DumpArray /d 0000021975972b48 查看一个数组
0:000> !DumpArray /d 0000021975972b48
Name: System.Object[]
MethodTable: 00007ffdb9386fc0
EEClass: 00007ffdb8d4aa00
Size: 88(0x58) bytes
Array: Rank 1, Number of elements 8, Type CLASS
Element Methodtable: 00007ffdb9386f28
[0] 0000021975972a08
[1] 0000021975972a70
[2] 0000021975972a40
[3] 0000021ac75e87b8
[4] 0000021975972b10
[5] 0000021975972ba0
[6] null
[7] null
0:000> !DumpObj /d 0000021975972a08
Name: System.String
MethodTable: 00007ffdb9386948
EEClass: 00007ffdb8c850e0
Size: 54(0x36) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String: 555d8ca25a6261
Fields:7
MT Field Offset Type VT Attr Value Name
00007ffdb9389288 400026f 8 System.Int32 1 instance 14 m_stringLength
00007ffdb9387b00 4000270 c System.Char 1 instance 35 m_firstChar
00007ffdb9386948 4000274 90 System.String 0 shared static Empty
>> Domain:Value 00000218c6c4d220:NotInit 0000021d52d81840:NotInit <<
dump net core windbg 内存分析的更多相关文章
- dump net core windbg 安装
安装 1.下载工具windbg 地址:https://www.microsoft.com/zh-cn/p/windbg-preview/9pgjgd53tn86?SilentAuth=1&rt ...
- 用Windbg来分析.Net程序的dump
介绍 1. 什么是Windbg WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. WinDbg是微 ...
- java dump 内存分析 elasticsearch Bulk异常引发的Elasticsearch内存泄漏
Bulk异常引发的Elasticsearch内存泄漏 2018年8月24日更新: 今天放出的6.4版修复了这个问题. 前天公司度假部门一个线上ElasticSearch集群发出报警,有Data Nod ...
- dump net core lldb 分析
原文https://www.cnblogs.com/calvinK/p/9274239.html centos7 lldb 调试netcore应用的内存泄漏和死循环示例(dump文件调试) 写个dem ...
- 利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题
利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(2) 启动和理解 MDD4J[size=1.0625]为了充分理解如何使用 MDD4J,您需要了 ...
- .NET内存分析工具-dotMemory
.NET内存分析工具-dotMemory 1.介绍 官网链接 引言 程序内存占用较大?内存溢出?需要分析生产环境程序怎么办? dotMemory 使您可以分析各种 .NET 和 .NET Core应用 ...
- 使用dbghelp生成dump文件以及事后调试分析
前言 在产品的实际应用环境中,如果我们的程序在客户那里出现了问题,例如程序异常了,而这个时候的现象又不能还原或者很难还原重现,那么只有使用dump文件来保存程序的当前运行信息,例如调用堆栈等,同时使用 ...
- 【Android端 APP 内存分析】使用工具进行APP的内存分析
Android端可以通过adb 命令直接获取内存信息,当然Android studio也提供了对内存的监控分析工具,并且后续可以结合MAT做分析 今天介绍的是通过Android studio和MAT工 ...
- 记一次Android内存分析过程
前言 上周五的时候,祝峰找到我,反映了Android收银台买单结果页内存飙升的问题.我在自己的机器上也试着重现了一下,发现从支付台-微信支付成功并返回后,进入买单结果页的内存会突然增大,导致GC,如图 ...
随机推荐
- linux 定时任务 cron,利用cron进程保活
cron定时任务 crond服务操作命令 /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service ...
- JPA的懒加载
JPA数据懒加载LAZY和实时加载EAGER(二) 懒加载LAZY和实时加载EAGER的概念,在各种开发语言中都有广泛应用.其目的是实现关联数据的选择性加载,懒加载是在属性被引用时,才生成查询语句 ...
- KCP TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而KCP是为流速设计的(单个数据包从一端发送到一端需要多少时间)
http://www.skywind.me/blog/archives/1048 KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降 ...
- Spark SQL里concat_ws和collect_set的作用
concat_ws: 用指定的字符连接字符串 例如: 连接字符串: concat_ws("_", field1, field2),输出结果将会是:“field1_field2”. ...
- Nexus上传npm包
1.创建npm仓库 私服仓库npm-hosted 代理仓库npm-proxy npm-group 创建成功 在工程的根目录下创建文件 .npmrc registry=http://xxx:8081/n ...
- 零起点PYTHON足彩大数据与机器学习实盘分析
零起点PYTHON足彩大数据与机器学习实盘分析 第1章 足彩与数据分析 1 1.1 “阿尔法狗”与足彩 1 1.2 案例1-1:可怕的英国足球 3 1.3 关于足彩的几个误区 7 1.4 足彩·大事件 ...
- Callback must be a function. Received undefined
fs.js:143 throw new ERR_INVALID_CALLBACK(cb); ^ TypeError [ERR_INVALID_CALLBACK]: Callback must be a ...
- 【翻译】FlinkCEP-Flink的复杂事件处理
本文翻译自官网:FlinkCEP - Complex event processing for Flink FlinkCEP是在Flink之上实现的复杂事件处理(CEP)库. 它使您可以检测无穷无尽的 ...
- 神器之strace
原链接:https://www.jianshu.com/p/33521124bdf2来
- 打开nginx配置的站点报错500
打开站点报错500的原因 有很多,这里只说明一点:nginx 的fastcgi.conf配置引起的问题 环境说明 1 站点目录结构 wwwroot website public application ...