经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » ASP.net » 查看文章
dotnet-dump工具使用
来源:cnblogs  作者:广州大雄  时间:2024/1/5 9:11:57  对本文有异议

介绍

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

原文链接:https://www.cnblogs.com/lgxlsm/p/17944357

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号