一、概述
简单记录通过dump(从进程捕获转储可以简单理解为进程快照)排查内存泄漏问题,方便使用时查阅。官网诊断分析文档
二、环境
- .NET Core 3.1 SDK 或更高版本。
- dotnet-counters 检查托管内存的使用情况。
- dotnet-dump 收集和分析转储文件。
#工具安装
dotnet tool install -g dotnet-counters
dotnet tool install -g dotnet-dump
三、监视分析
1、监视
#列出可由 dotnet-counters 监视的 dotnet 进程
dotnet-counters ps
#监视的目标进程
dotnet-counters monitor -p <PID>
2、从进程捕获转储
#从进程捕获转储
dotnet-dump collect -p <PID>
3、分析
#分析dmp
dotnet-dump.exe analyze dump_20231119_162045.dmp
#列出对象
dumpheap -stat
#查看对象细节
dumpheap -mt <MT>
#查看对象的引用(或根)的信息
gcroot <MT>
其他分析工具perfview、windbg
Comments NOTHING