安裝dotnet下的診斷工具

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} 查看對應內容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章