记一次 .NET 某医院预约平台 内存泄露分析
💡
原文中文,约5800字,阅读约需14分钟。
📝
内容提要
本文讲述了作者朋友的程序出现内存泄漏的问题。作者使用WinDbg进行分析,发现虚拟地址紧张并不是导致内存泄漏的原因。通过观察内存段统计信息和托管堆内存占用情况,作者确定存在非托管内存泄漏。进一步观察加载堆中的module,发现存在大量的module,这成为突破点。通过观察module中的type,作者发现是Serialization泄漏导致的问题。最后,作者总结了整个分析过程。
🎯
关键要点
- 作者的朋友遇到程序内存泄漏问题,寻求帮助。
- 使用WinDbg分析,发现虚拟地址紧张并不是内存泄漏的原因。
- 通过观察内存段统计信息,确定存在非托管内存泄漏。
- 加载堆中存在大量module,成为分析的突破点。
- 通过观察module中的type,发现Serialization泄漏是导致问题的根源。
- 总结了分析过程,指出使用XmlSerializer时需注意缓存,避免内存泄漏。
➡️