You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Eventpipe获取运行中.NET应用的托管内存使用明细

运行中.NET应用内存使用明细获取方案

一、dotnet-dump 内存对象分析实操步骤

你之前用了dotnet-dump但不知道怎么查看对象,按以下步骤操作就能拿到目标明细:

  1. 捕获运行中应用的dump文件:
    dotnet-dump collect -p <你的进程ID>
    
  2. 进入dump分析交互会话:
    dotnet-dump analyze <生成的dump文件路径>
    
  3. 核心分析命令:
    • dumpheap -stat:按类型统计内存占用,输出各类型的实例数量、总大小,对应你要的内存使用明细概览
    • dumpheap -type <目标类型名>:查看指定类型的所有实例详情,包括每个实例的内存地址、大小,和你提到的微软文档示例视图匹配
    • gcroot <对象内存地址>:追踪指定对象的引用链,排查内存泄漏根源

二、基于EventPipe的实时内存追踪(无需生成dump)

如果不想生成dump文件,直接用EventPipe生态工具实时获取运行中应用的内存数据:

  • 使用dotnet-trace采集内存事件:
    dotnet-trace collect -p <进程ID> --providers Microsoft-DotNETCore-SampleProfiler,Microsoft-Windows-DotNETRuntime:0x2000:5
    
    生成的.nettrace文件用PerfView打开后,在「Memory」视图中可查看实时的对象分配统计、存活实例明细,完全满足你的需求。
  • 更直观的可视化方式:用Visual Studio性能探查器,选择「.NET内存分配」会话,直接附加到运行中的进程,能可视化查看内存对象的类型、实例数、大小,就是你说的微软文档示例里的界面。

三、关键词修正建议

之前没找到资料大概率是关键词偏差,换这些关键词搜索:

  • .NET 运行中内存对象分析
  • dotnet-dump 内存实例查询
  • EventPipe 实时内存追踪
  • PerfView 内存明细视图

内容的提问来源于stack exchange,提问作者russelrillema

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:32:11