Episode

Tutorial 11 - Investigating .NET Heap Memory Leaks :Part2 Analyzing the data

This video is the second in a two-part video on investigating a GC memory 'leak'. This video discusses a real world memory leak that was found and corrected in PerfView itself. If you have not watched part one, you should do so now. This second part assumes that we have taken two heap snapshots and now wish to investigate the differences between the two snapshots. We show how to do a diff, and explain the theory (negating the sample of the baseline), and how trivial it is to find what 'path of referneces' are keeping the objects alive.

Armed with this information we disover that some of growth is 'by design' (it is part of a useful cache), however some of the growh is an unfortunate side effect of other caching. We discuss how we fixed this problem and then validated that the fix actually worked.

Aftet watching this if you have not already done so, you should watch the video on GC Memory Investigation Basics. You may also be interested in the whole PerfView Tutorial Series.