.NET垃圾回收GC诊断工具dotnet-gcmon使用

 更新时间:2021-12-17 12:01:56   作者:佚名   我要评论(0)


今天介绍一个新的诊断工具 dotnet-gcmon, 也是全局 .NET CLI 工具, 它可以监控到 .NET 程序的 GC, 能获取到的信息也很详细, 另外 maoni 大佬

今天介绍一个新的诊断工具 dotnet-gcmon, 也是全局 .NET CLI 工具, 它可以监控到 .NET 程序的 GC, 能获取到的信息也很详细, 另外 maoni 大佬也是其中的开发者之一。

安装 gcmon

和其他的 dotnet 诊断工具一样, 你可以使用以下命令,进行全局安装

dotnet tool install -g dotnet-gcmon

参数介绍

参数 描述
n 进程名, dotnet 应用的进程名
p 进程ID, dotnet 应用的 Process ID
m 最小 GC 暂停持续时间(以毫秒为单位),可选
c 指定一个 yaml 配置文件路径, 可选

使用

使用非常简单, 我们需要指定被监控的 dotnet 应用的进程名或者是进程ID (PID), 这里也可以使用另外一个诊断工具 dotnet-trace, 安装命令如下

dotnet tool install -g dotnet-trace

然后运行dotnet trace ps获取所有的 dotnet 进程

接下来, 运行dotnet gcmon -p 21904, 开始监控 dotnet 应用, 诊断工具会输出下面的信息

在诊断工具运行的时候,按下s键,会输出当前 GC 的整体和每一代的状态

另外还可以使用 yaml 配置文件, 灵活配置诊断工具输出列,具体可以参考 github。

总结

dotnet gcmon 是一个小而实用的诊断工具, 并且还在迭代中, 在对于代码无侵入的情况下, 排查问题还是很方便的, 另外 .NET 现在已经有近十个诊断工具了!

gcmon 的工作原理是什么呢? 其实主要是调用了 CLR 运行时团队提供的一个诊断库, Microsoft.Diagnostics.NETCore.Client, 这个库功能就非常强大了, 各种运行时信息都可以拿到, 当然你也可以用它实现一个诊断工具, 这个库是基于 EventPipe, IPC 等实现的, 还是很复杂的。

https://github.com/Maoni0/realmon

以上所述是小编给大家介绍.NET垃圾回收GC诊断工具dotnet-gcmon的使用方法,希望对大家有所帮助,非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:
  • 使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因解析
  • .Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法
  • .NET 6 中的 dotnet monitor

相关文章

  • vue利用openlayers加载天地图和高德地图

    vue利用openlayers加载天地图和高德地图

    目录一、天地图部分1、在vue中安装openlayers二、高德地图部分一、天地图部分 1、在vue中安装openlayers npm i --save ol 这里说的vue是
    2021-12-17
  • .NET垃圾回收GC诊断工具dotnet-gcmon使用

    .NET垃圾回收GC诊断工具dotnet-gcmon使用

    今天介绍一个新的诊断工具 dotnet-gcmon, 也是全局 .NET CLI 工具, 它可以监控到 .NET 程序的 GC, 能获取到的信息也很详细, 另外 maoni 大佬
    2021-12-17
  • HTML+CSS+JavaScript创建一个简单的井字游戏

    HTML+CSS+JavaScript创建一个简单的井字游戏

    目录实现 HTML添加 CSS实现 Javascript 部分演示地址 实现 HTML 首先在 head 部分,我将包含我们稍后创建的 css 和 javascript 文件。我还添
    2021-12-17
  • Javascript Bootstrap的网格系统,导航栏和轮播详解

    Javascript Bootstrap的网格系统,导航栏和轮播详解

    目录bootstrap简介及其相关内容网格系统列嵌套列偏移 列排序 导航栏轮播总结bootstrap简介及其相关内容 Bootstrap 是一个用于快速开发 Web
    2021-12-17
  • .NET6新特新?struct优化

    .NET6新特新?struct优化

    目录一、Record Struct二、readonly struct record三、Parameterless Constructor 在.NET6中针对Struct做了一些优化,下面我们就通过一些案例
    2021-12-17
  • Vue?element树形控件添加虚线详解

    Vue?element树形控件添加虚线详解

    目录1.实现效果2.实现代码3.其他实现总结1.实现效果 2.实现代码 树形控件虚线的添加主要通过控制css来实现,并且在树形控件的缩进数只能为0
    2021-12-17
  • 微信小程序通过uni-app进行全局分享

    微信小程序通过uni-app进行全局分享

    实际使用中,经常需要小程序分享到好友或者朋友圈,一般而言是一个个页面去设置。 官网分享介绍:https://uniapp.dcloud.io/api/plugins/sha
    2021-12-17
  • jQuery实现Ajax聊天机器人完成案例

    jQuery实现Ajax聊天机器人完成案例

    聊天机器人可以省掉很多人工方面的问题,在很多时候都可以用到,例如客服,天气回复等问题,本文就详细的介绍一下jQuery Ajax聊天机器人,具
    2021-12-17
  • .NET?Core?中对象池?Object?Pool的使用

    .NET?Core?中对象池?Object?Pool的使用

    目录一、什么是对象池二、.NET Core 中的对象池三、本文小结一、什么是对象池 对象池简单来说就是一种为对象提供可复用能力的软件设计思路。
    2021-12-17
  • vue通过element树形控件实现树形表格

    vue通过element树形控件实现树形表格

    目录实现效果图安装依赖自定义树形控件其他实现总结在vue中通过element树形控件来实现树形表格的效果 通过缩进来实现近似树形表格的效果 实现
    2021-12-17

最新评论