1.安装dotnet下的三个诊断工具 dotnet-counters一个性能监视工具,用于临时运行状况监视和初级性能调查, 你可以通过命令查看和存储,当前程序的运行时信息,它可以收集 CPU,内存,GC,线程,异常 等信息 dotnet-trace一个跨平台的 .NET Core 工具,在不使用本机探查器的情况下启用正在运行的进程的 .NET Core 跟踪集合,它是围绕 .NET Core 运行时的跨平台 EventPipe 技术而构建的,在 Windows、Linux 或 macOS 上提供相同体验。 dotnet-dump是性能收集和分析实用工具,流程是先用 dotnet-dump collect 命令 收集当前程序的运行时信息,然后通过 dotnet-dump analyze 命令启动交互式 shell命令,来分析程序 由于服务器基本都是无法联网的,所以该工具需要离线安装(注意先按照.net core SDK) 配置dotnet tool环境变量: vi /etc/profile 在最后面追加:export PATH="$PATH:/root/.dotnet/tools" 然后执行 source /etc/profile 使环境变量生效 接下里以安装dotnet-counters为例: 使用 https://www.nuget.org/packages/dotnet-counters/找到合适版本(要找兼容.net core3.1可用的,下面demo中就是3.1可用的最新的工具版本) 复制 dotnet tool install --global dotnet-counters --version 6.0.351802 命令 点击Download package 下载离线包 建立文件夹package,把离线包放进去 在文件夹外,运行命令 dotnet tool install --global dotnet-counters --version 6.0.351802 --add-source “package” ------ 以上3个工具安装以后就可以进行内存泄漏的排查了,具体命令参考如下: 常用指令: dotnet-counters collect:定期收集所选计数器的值,并将它们导出为指定的文件格式以进行后续处理。 dotnet-counters list:显示按提供程序分组的计数器名称和说明的列表。 dotnet-counters monitor:实时监控程序的运行信息 dotnet-counters ps:显示可监视的 dotnet 进程的列表 dotnet-trace collect:实时获取信息,数据收集到trace.nettrace文件,可以用VS打开该文件 dotnet-trace convert:将 nettrace 跟踪转换为备用格式,以便用于备用跟踪分析工具。 dotnet-trace ps:显示可附加到的 dotnet 进程的列表 dotnet-trace list-profiles:列出预生成的跟踪配置文件,并描述每个配置文件中包含的提供程序和筛选器。 dotnet-dump collect:从进程捕获转储。 dotnet-dump analyze:启动交互式 shell 以了解转储。 shell 接受各种 SOS 命令。 使用示例: 1. dotnet-counters monitor -p {pid} 可以看当前进程的运行信息 2. dotnet-dump collect -p {pid}从进程捕获信息转储到文件 3. dotnet-dump {转储文件名}启动交互式shell开始分析文件内容 4. dumpheap -stat -min 10240 查看大于10M的对象信息 dumpheap -stat 不加参数查看内存占用大小和对象数量,默认从小到大 5. dumpheap -mt {mt列编号} -min 10240 查看对应占用较大对象 6. dumpobj {address} 查看对应内容
标签:dump,trace,collect,--,诊断,dotnet,安装,counters From: https://www.cnblogs.com/hahahayang/p/18006359