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

 更新时间:2021年11月22日 10:45:48   作者:SpringLeee  
这篇文章主要介绍了.NET垃圾回收GC诊断工具dotnet-gcmon使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天介绍一个新的诊断工具 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的使用方法,希望对大家有所帮助,非常感谢大家对脚本之家网站的支持!

相关文章

  • Opencv2.4.13与Visual Studio2013环境搭建配置教程

    Opencv2.4.13与Visual Studio2013环境搭建配置教程

    这篇文章主要为大家详细介绍了Opencv2.4.13 与Visual Studio2013环境搭建配置教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Amazing ASP.NET Core 2.0

    Amazing ASP.NET Core 2.0

    Amazing ASP.NET Core 2.0,这篇文章主要介绍了ASP.NET Core 2.0 版本的新特性,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • MVC4制作网站教程第四章 部分栏目功能实现代码

    MVC4制作网站教程第四章 部分栏目功能实现代码

    这篇文章主要为大家详细介绍了MVC4制作网站教程,部分栏目功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • asp.net 身份验证(最简单篇)

    asp.net 身份验证(最简单篇)

    在创建网站中,常常会使用到身份验证。asp.net中内置了几种身份验证的方式,如Windows、Froms、Passport等。这几种身份验证的方式各有不同。
    2009-05-05
  • asp.net验证码的简单制作

    asp.net验证码的简单制作

    当用户进行注册、登陆的时候都会遇到输入验证码的情况,那验证码到底是怎么制作的,下面就为大家讲解如何使用ASP.NET制作简单的验证码,感兴趣的朋友可以参考一下
    2015-09-09
  • ASP.NET创建动态缩略图的方法

    ASP.NET创建动态缩略图的方法

    这篇文章主要介绍了ASP.NET创建动态缩略图的方法,实例分析了asp.net动态操作图片的相关技巧,需要的朋友可以参考下
    2015-06-06
  • ASP.NET Core实时库SignalR简介及使用

    ASP.NET Core实时库SignalR简介及使用

    这篇文章介绍了ASP.NET Core实时库SignalR简介及使用方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • SQL通用存储过程分页,支持多表联合

    SQL通用存储过程分页,支持多表联合

    以前用.net写分页存储过程时老是一张表就要写一个procedure.很忙烦.后来有空就整合了一下,做了一个通用的sql分页存储,支持多表联合查询分页.写的不好的地方,希望大鸟们多多指导.使的查询速度更快.
    2011-11-11
  • asp.net MVC使用PagedList.MVC实现分页效果

    asp.net MVC使用PagedList.MVC实现分页效果

    这篇文章主要为大家详细介绍了asp.net MVC使用PagedList.MVC实现分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 如何合并多个 .NET 程序集

    如何合并多个 .NET 程序集

    这篇文章主要介绍了如何合并多个 .NET 程序集的方法,大家可能都听说过项 ILMerge, SmartAssembly, 等这样的工具.但是我想如果我们就能通过在编译时将所有这些源代码文件导入一个项目,来获得这些东西的一个完美组合.下面我们就来仔细探讨下。
    2015-03-03

最新评论