记一次 .NET 某电力系统 内存暴涨分析
💡
原文中文,约7000字,阅读约需17分钟。
📝
内容提要
本文介绍了程序内存暴涨事故,通过Windbg分析发现是托管堆的暴涨,最终发现是大批量数据在托管堆上折腾导致的。文章提出了两种解决办法:修改GC模式,改成Workstation;大批量数据改成小步快跑。
🎯
关键要点
- 程序内存暴涨事故的背景和分析方法
- 使用Windbg工具分析内存使用情况
- 发现托管堆的暴涨是内存暴涨的主要原因
- 通过dumpheap命令找到内存中占用最大的对象
- 分析Free对象的原因,发现是由于大对象分配导致的内存无法回收
- 提出两种解决办法:修改GC模式为Workstation,或将大批量数据改为小步快跑
- 总结内存暴涨的表象和本质原因
➡️