一:背景
前几篇我们聊的都是 非托管内存泄漏,这一篇我们再看下如何用 PerfView 来排查 托管内存泄漏 ,其实 托管内存泄漏 比较好排查,尤其是用 WinDbg,毕竟C#是带有丰富的元数据,不像C++下去就是二进制。
二:如何分析
PerfView 用的是权重占比来寻找可疑的问题函数,为了方便讲述,我们先上一段问题代码。
internal class Program
{
static void Main(string[] args)
{
Task.Run(Alloc1);
Task.Run(Alloc2);
Task.Run(Alloc3);
Console.ReadLine();
}
static void Alloc1()
{
var list = new List<string>();
for (int i = 0; i < 200000; i++)
{
list.Add(string.Join(",", Enumerable.Range(0, 1000)));
}
Console.WriteLine("Alloc1 处理完毕");
订阅专栏 解锁全文
953

被折叠的 条评论
为什么被折叠?



