.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的使用方法,希望对大家有所帮助,非常感谢大家对脚本之家网站的支持!

相关文章

  • vs2010显示代码行数的方法

    vs2010显示代码行数的方法

    这篇文章主要为大家详细介绍了如何在vs2010中显示代码的行数,仅要三步实现代码行数显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • asp.net 防止SQL注入攻击

    asp.net 防止SQL注入攻击

    asp.net网站防止SQL注入攻击,通常的办法是每个文件都修改加入过滤代码,这样很麻烦,下面介绍一种办法,可以从整个网站防止注入。
    2009-06-06
  • ASP.NET DataTable去掉重复行的2种方法

    ASP.NET DataTable去掉重复行的2种方法

    这篇文章主要介绍了ASP.NET DataTable去掉重复行的2种方法,本文直接给出去重代码,需要的朋友可以参考下
    2015-02-02
  • .NET Core3.1编写混合C++程序

    .NET Core3.1编写混合C++程序

    这篇文章主要介绍了.NET Core3.1编写混合C++程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • MVC+EasyUI+三层新闻网站建立 主页布局的方法(五)

    MVC+EasyUI+三层新闻网站建立 主页布局的方法(五)

    这篇文章主要为大家详细介绍了MVC+EasyUI+三层新闻网站建立的第五篇,教大家如何进行主页布局,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • .NET的强类型字符串(Strongly typed string)详解

    .NET的强类型字符串(Strongly typed string)详解

    强类型字符串是一种编译时类型检查的字符串表示方法,类似于枚举,但具有更好的扩展性和约束性,强类型字符串可以提供更好的可读性和维护性,并且可以避免运行时错误,本文介绍什么是.NET的强类型字符串(Strongly typed string),感兴趣的朋友一起看看吧
    2024-12-12
  • asp.net 购物车的实现浅析

    asp.net 购物车的实现浅析

    我从来没有进行过正式的web开发,但是我一直喜欢web,所以这篇文章也是我转行web的一个开始吧。或多或少我也参考了几个网站的实现(当然了,只是看看大概的功能而已),所以也请大家多多指教。
    2011-02-02
  • ASP.NET堆和栈一之基本概念和值类型内存分配

    ASP.NET堆和栈一之基本概念和值类型内存分配

    这篇文章介绍了ASP.NET堆和栈的基本概念和值类型内存分配,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 在VS2009中集成自动上传nuget包到服务器的解决方案

    在VS2009中集成自动上传nuget包到服务器的解决方案

    这篇文章主要介绍了在VS2009中集成自动上传nuget包到服务器的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • ASP.NET/C#中如何调用动态链接库DLL

    ASP.NET/C#中如何调用动态链接库DLL

    这篇文章主要为大家详细介绍了ASP.NET/C#中如何调用动态链接库DLL,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论