首页 > 其他分享 >安装dotnet下的诊断工具

安装dotnet下的诊断工具

时间:2024-02-04 15:45:47浏览次数:21  
标签:dump trace collect -- 诊断 dotnet 安装 counters

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

相关文章

  • DotNetty 封装的TcpClient
    .net里 Netty资料不多,做个记录publicclassNetworkCommunicator:ICommunicator{#regionNetty本来想用静态,后来觉得多个client公用一个netty可能分不清返回的数据,先这样,后期要是吃资源再优化Bootstrap_NettyBoot;IEventLoopGroup_NettyEventLoop;......
  • DotNetty 封装的 UdpClient
    DotNetty资料较少,UdpClient和TcpClient略有不同publicclassUdpCommunicator:ICommunicator{privateIChannel?_ClientChannel;privateBootstrap?_Bootstrap;IEventLoopGroup?_LoopGroup;privateTaskCompletionSource<byte[]>_ResponseComp......
  • Linux---软件安装(二)
    1、软件安装方式二进制发布包安装软件已经针对具体平台编译打包发布,只要解压,修改配置即可rpm安装软件已经按照redhat(红帽)的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题yum安装一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动......
  • 解决apache-tomcat安装成功之后运行startup.bat之后闪退
    一:概述通过startup.bat启动的流程是:startup->catalia->setclasspath->cataline,如果这3个bat文件里面有一个出现错误的话就是启动失败,为了找到一闪而过的原因,需要了解这三个bat文件里面是什么。二:具体说明<1>由于JDK环境变量配置错误tomcat在启动时,会读取环境变量的信息,需要一个CAT......
  • Charles安装及配置
    注:本文只介绍Charles的安装和PC端抓包,手机端抓包大同小异。一、下载安装Charles1、官方网址:https://www.charlesproxy.com/   选择自己需要的macos/windows/linux下对应的最新版本,选择安装盘符,安装即可如果网络不好也可以直接下载:windows:charles-proxy-4.6.5-win64-onkj.msimac......
  • 卸载centos源码安装的mysql
    关闭mysql查看安装的mysqlrpm-qa|grep-imysql卸载安装的mysqlrpm-evmysql-community-client-8.0.11-1.el7.x86_64--nodeps--nodeps强制卸载删除mysql相关目录whereismysqlfind/-namemysqlrm-rf目录rm命令文件一旦通过rm命令删除,则无法恢复;删除文件......
  • MySQL8.0.26安装部署
    一.安装1.下载安装包文件官网地址:https://www.mysql.com/下载地址:https://downloads.mysql.com/archives/installer/(注意:如果之前已经安装MySQL,需要卸载旧版MySQL,然后再安装此版本,卸载请参考我的“MySQL8.0.26卸载”文档)下载好安装包后,双击安装包,根据提示进行安装2.根据......
  • Docker安装mysql8
    1.下载mysql8镜像(版本根据自己选择:这里是8.0.20)dockerpullmysql:8.0.20 2.启动镜像dockerrun-p3307:3306--namemysql8-eMYSQL_ROOT_PASSWORD=123456-dmysql:8.0.20 参数注解 检查是否启动成功dockerps 3.配置挂载创建挂载目录(请检查保证创建成......
  • GBase 8a 单机版安装教程
    GBase8a单机免费版安装。本文采用官方免费版本GBase8a-NoLicense-Free-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2为例,介绍单机版安装步骤。安装包下载地址https://pan.baidu.com/s/1HPVMoZWMpRrIsWvatswUGw如需提取码:[打开微信]->[扫描下方二维码]->[关注数据与人]回复”gbase......
  • Docker笔记(一)docker 在linux里面的安装
    Docker笔记(一)docker在linux里面的安装为什么使用docker(docker理念)在开发环境,将源码+配置+软件等其他项目运行的所有的东西,都打包,直接都给运维,这样运维就不需要自己搭建项目运行的环境了,因为你已经拿到了开发人员本地的全部的东西,相当于拿到开发人员全部的东西,直接在运维那里就......