记一次 .NET 某医院预约平台 内存泄露分析
原文中文,约5800字,阅读约需14分钟。发表于: 。一:背景 1. 讲故事前几天有位朋友找到我,说他的程序有内存泄露,让我帮忙排查一下,截图如下:说实话看到 32bit, 1.5G 这些关键词之后,职业敏感告诉我,他这个可能是虚拟地址紧张所致,不管怎么说,有了 Dump 就可以上马分析。二:WinDbg分析 1. 虚拟地址紧张所致吗要看是不是虚拟地址紧张,可以用 !address -summary 观察下内存段统计信息,截图如下:我去,用 WinD...
本文讲述了作者朋友的程序出现内存泄漏的问题。作者使用WinDbg进行分析,发现虚拟地址紧张并不是导致内存泄漏的原因。通过观察内存段统计信息和托管堆内存占用情况,作者确定存在非托管内存泄漏。进一步观察加载堆中的module,发现存在大量的module,这成为突破点。通过观察module中的type,作者发现是Serialization泄漏导致的问题。最后,作者总结了整个分析过程。