dotnet-dump工具使用

介紹

dotnet-dump 是 .NET Core 官方工具之一,用於生成和分析 .NET Core 進程的轉儲文件(dump file)。它可以幫助開發人員在應用程序發生故障或性能問題時進行故障排查和診斷。

Linux 系統上的軟件包的工具

  • RedHat系列使用(Centos)yum
  • Debian系列使用apt

dotnet-dump安裝

先安裝dotnet-sdk

  1. 將 Microsoft 的官方包存儲庫配置文件安裝到 CentOS 7 系統中
    sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  2. 安裝運行時
    sudo yum install dotnet-sdk-7.0
  3. 查看當前版本-是否安裝成功
    dotnet --version
    image

安裝dotnet-dump

安裝最新的即可,我的代碼是asp.core3.1 也可以高版本排查
dotnet tool install --global dotnet-dump
查看當前版本-是否安裝成功
dotnet-dump --version
image

生成轉儲文件(內存文件)

dotnet-dump collect -p 10232

分析轉儲文件

dotnet-dump analyze core_20231222_201626
image

分析SOS命令

  1. 找到內存比較大的類型,通過查看內存佔用大小和對象數量
    dumpheap -stat
    默認從小到大,直接拉到最下面,看最大的對象
    image
  2. 然後分析類型具體對象
    umpheap -mt 命令,您可以快速查找指定類型的對象,瞭解其在堆上的分佈情況和內存佔用情況。這對於定位內存泄漏、查找內存使用問題等非常有用。
    dumpheap 7f9d28ec8b68
    image
  3. 然後找出的應用根(目的是找出在哪裏被引用了)
    gcroot 7f9a14da0448
    image

分析生產環境dump機器配置要高一點,4G大小的文件跑崩了

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章