.NET垃圾回收GC診斷工具dotnet-gcmon使用
今天介紹一個新的診斷工具 dotnet-gcmon, 也是全局 .NET CLI 工具, 它可以監(jiān)控到 .NET 程序的 GC, 能獲取到的信息也很詳細(xì), 另外 maoni 大佬也是其中的開發(fā)者之一。
安裝 gcmon
和其他的 dotnet 診斷工具一樣, 你可以使用以下命令,進行全局安裝
dotnet tool install -g dotnet-gcmon
參數(shù)介紹
參數(shù) | 描述 |
---|---|
n | 進程名, dotnet 應(yīng)用的進程名 |
p | 進程ID, dotnet 應(yīng)用的 Process ID |
m | 最小 GC 暫停持續(xù)時間(以毫秒為單位),可選 |
c | 指定一個 yaml 配置文件路徑, 可選 |
使用
使用非常簡單, 我們需要指定被監(jiān)控的 dotnet 應(yīng)用的進程名或者是進程ID (PID), 這里也可以使用另外一個診斷工具 dotnet-trace, 安裝命令如下
dotnet tool install -g dotnet-trace
然后運行dotnet trace ps
獲取所有的 dotnet 進程
接下來, 運行dotnet gcmon -p 21904
, 開始監(jiān)控 dotnet 應(yīng)用, 診斷工具會輸出下面的信息
在診斷工具運行的時候,按下s
鍵,會輸出當(dāng)前 GC 的整體和每一代的狀態(tài)
另外還可以使用 yaml
配置文件, 靈活配置診斷工具輸出列,具體可以參考 github。
總結(jié)
dotnet gcmon 是一個小而實用的診斷工具, 并且還在迭代中, 在對于代碼無侵入的情況下, 排查問題還是很方便的, 另外 .NET 現(xiàn)在已經(jīng)有近十個診斷工具了!
gcmon 的工作原理是什么呢? 其實主要是調(diào)用了 CLR 運行時團隊提供的一個診斷庫, Microsoft.Diagnostics.NETCore.Client, 這個庫功能就非常強大了, 各種運行時信息都可以拿到, 當(dāng)然你也可以用它實現(xiàn)一個診斷工具, 這個庫是基于 EventPipe, IPC 等實現(xiàn)的, 還是很復(fù)雜的。
https://github.com/Maoni0/realmon
以上所述是小編給大家介紹.NET垃圾回收GC診斷工具dotnet-gcmon的使用方法,希望對大家有所幫助,非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Opencv2.4.13與Visual Studio2013環(huán)境搭建配置教程
這篇文章主要為大家詳細(xì)介紹了Opencv2.4.13 與Visual Studio2013環(huán)境搭建配置教程的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03MVC4制作網(wǎng)站教程第四章 部分欄目功能實現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,部分欄目功能實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08ASP.NET創(chuàng)建動態(tài)縮略圖的方法
這篇文章主要介紹了ASP.NET創(chuàng)建動態(tài)縮略圖的方法,實例分析了asp.net動態(tài)操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-06-06asp.net MVC使用PagedList.MVC實現(xiàn)分頁效果
這篇文章主要為大家詳細(xì)介紹了asp.net MVC使用PagedList.MVC實現(xiàn)分頁效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07