如何在App Insights Profiler中查看内存信息及解决显示问题?
解决App Insights Profiler内存分析问题
一、启用内存分析功能
- 检查Azure门户配置:
- 进入目标应用服务的性能>Profiler页面
- 确认勾选启用内存分析选项(部分旧版部署需手动开启)
- 若用CLI/ARM模板配置,需设置
APPINSIGHTS_PROFILER_ENABLE_MEMORY_PROFILING=true,示例CLI命令:az webapp config appsettings set --name <你的应用名> --resource-group <资源组名> --settings APPINSIGHTS_PROFILER_ENABLE_MEMORY_PROFILING=true
- 验证应用端配置:
确保应用的环境变量或配置文件(如appsettings.json)中已添加APPINSIGHTS_PROFILER_ENABLE_MEMORY_PROFILING=true,.NET应用需保证引用了最新版的Microsoft.ApplicationInsights.Profiler.AspNetCore(或对应框架的Profiler包)
二、查看内存相关分析数据
- 内存分析数据不在Slowest wall clock time下,需切换到App Insights性能面板的内存标签页,这里会展示内存触发事件对应的快照数据
- 点击具体的内存事件条目,进入内存分析视图,可查看:
- 按对象类型排序的内存占用排行
- 对象的引用链追踪
- 大对象堆(LOH)的使用详情
三、获取完整内存快照文件
- 常规的
.diagsession文件仅包含CPU分析数据,内存快照需单独下载:- 在性能>内存标签页找到目标触发事件
- 点击事件旁的下载快照按钮,获取
.mht或.dmp格式的内存快照 - 使用Visual Studio或WinDbg打开快照文件,即可深度分析内存占用情况
- 若无法下载快照,可在应用服务的日志流中搜索
Profiler关键词,排查内存采集过程中的报错信息
内容的提问来源于stack exchange,提问作者markzzz
相关产品推荐
相关产品推荐

