.NET Memory Management – Resources
- (originally )
- 3 minutes to read
- edit
I present at a lot of the local Florida code camps (and some out of state ones as well) and have a set of presentations that I do which focus on .NET memory management, specifically a “deep dive” on how the GC works and another presentation which talks about how to implement the Dispose pattern properly.
I was doing some additional research today to update my list of resources in the presentations and decided to publish that list here as well. This is not an exhaustive list, but it is a subset of the books, articles, blogs and presentations that I used to form the content for my presentations.
Books
- CLR via C#
- C# Essentials
- .NET Framework Essentials
- .NET Gotchas
- Programming .NET Components
- Framework Design Guidelines
Articles
- Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework (Jeffrey Richter)
- Garbage Collection - Part 2: Automatic Memory Management in the Microsoft .NET Framework (Jeffrey Richter)
- CLR Inside Out: Investigating Memory Issues (Claudio Caldato and Maoni Stephens)
- Implementing IDisposable and the Dispose Pattern Properly (Scott Dorman)
- SafeHandle and Constrained Execution Regions (Scott Dorman)
- Production Debugging for .NET Framework Applications (MSDN Library, patterns & practices)
- Automatic Memory Management (MSDN Library, Visual Studio 2008 Developer Center)
- Garbage Collection (MSDN Library, Visual Studio 2008 Developer Center)
Presentations, Webcasts, Podcasts
- .NET Framework: CLR Internals (Jeffrey Richter, TechEd 2005 presentation)
- CLR Garbage Collector (Justin Smith)
Blogs
- Paul Wilson
- Maoni Stephens
- Using GC Efficiently – Part 1
- Using GC Efficiently – Part 2
- Using GC Efficiently – Part 3
- Using GC Efficiently – Part 4
- So, what’s new in the CLR 2.0 GC?
- Clearing up some confusion over finalization and other areas in GC
- Large Object Heap
- GC Performance Counters
- I Am a Happy Janitor – Part 1: Finding garbage
- Put a DPAD on that GC!
- Internals of the POH
- DG Update: Dispose, Finalization, and Resource Management (Joe Duffy)
- When GC.KeepAlive Doesn’t (Chris Lyon)
- How To: Tune the .NET Framework (Channel 9)
- Notes on the CLR Garbage Collector (Vineet Gupta)
- Mid-life crisis (Rico Mariani)
- Memory management in the .NET Framework (Johan Straarup)
- Fundamentals of garbage collection
- Garbage collection
- The large object heap on Windows systems
- What is “managed code”?
- Runtime configuration options for garbage collection
- Managed Execution Process
- Performance Improvements in .NET 6
Other References/Resources
- Optimize plan phase for foreground gcs
- Equalize marklists
- Add a time-based decay to the linear allocation model
Tools
- CLR Profiler
- FxCop
- Performance Monitor
- WinDbg
- SOS Debugging Extensions