Posts by this author

Apr 5, 2013
Post comments count0
Post likes count0

The Defrag Tools Channel9 series on managed memory diagnostics

Recently I did a few videos for the popular "Defrag Tools" series on Channel9. They are just talking about pretty basic things about doing managed memory investigations so I'd imagine for most of you it's something you already know. However, you can feel free to suggest things you'd like to see in the comments of these videos (or on this blog for t...

.NET
Jul 23, 2012
Post comments count0
Post likes count1

What’s new in GC in CLR 4.5 from our team blog

This is now live from CLR's team blog. This paints a more complete picture than what I talked about in my "What's new in 4.5 GC" Channel 9 interview which mostly focused on Server Background GC. http://blogs.msdn.com/b/dotnet/archive/2012/07/20/the-net-framework-4-5-includes-new-garbage-collector-enhancements-for-client-and-server-apps.as...

.NET
Sep 21, 2011
Post comments count0
Post likes count1

So, what’s new in the CLR 4.5 GC?

Last time I posted a "So, what's new" entry was when we release 4.0 ~3 years ago (can't believe it's already been that long..). Now I get to talk about what's new in the 4.5 GC. Actually I just talked about this with Channel 9 and here's the link to the video: https://channel9.msdn.com/posts/Maoni-Stephens-CLR-45-Server-Background-GC ...

.NET
Nov 15, 2010
Post comments count0
Post likes count0

Finalization Uncovered

I’ve talked about finalization before but based on seeing questions related to it it appears that it deserves some clarification.   First of all, finalization is a mechanism we provide in the CLR wheras Dispose is a programming pattern. See Clearing up some confusion over finalization and other areas in GC for an explanation why we provi...

.NET
Apr 23, 2010
Post comments count0
Post likes count0

Debugging with the Right Tools

Wow, it’s been almost a year since I last blogged J We just shipped CLR V4.0. Yay!   An internal email thread prompted me to write this blog entry – one very powerful tool I wanted to point out when you need to debug/investigate issues is your debugger (if your debugger is also windbg/cdb that is J since that’s what I use and that’s what I wil...

.NET
May 26, 2009
Post comments count0
Post likes count1

Channel9 Video on Background GC

A couple of weeks back my PM and I did a channel9 video on Background GC. Take a look: https://channel9.msdn.com/shows/Going+Deep/Maoni-Stephens-and-Andrew-Pardoe-CLR-4-Inside-Background-GC/

.NET
Nov 19, 2008
Post comments count0
Post likes count0

So, what’s new in the CLR 4.0 GC?

PDC 2008 happened not long ago so I get to write another “what’s new in GC” blog entry. For quite a while now I’ve been working on a new concurrent GC that replaces the existing one. And this new concurrent GC is called “background GC”. First of all let me apologize for having not written anything for so long. It’s been quite busy working on the n...

.NET
May 15, 2007
Post comments count0
Post likes count0

64-bit vs 32-bit

As 64-bit machines become more common, the problems we need to solve also evolve. In this post I’d like to talk about what it means for the GC and the applications’ memory usage when we move from 32-bit to 64-bit.   One big limitation of 32-bit is the virtual memory address space - as a user mode process you get 2GB, and if you use large addre...

.NET
Mar 21, 2007
Post comments count0
Post likes count1

He’s live… he’s live not… he’s live…

I was making some code changes today and thought this was interesting to share. As you know, the WeakReference class has a getter and a setter method to get and set the Target which is what the weakref points to. See Using GC Efficiently – Part 3 for more details on WeakReference.   Note that the code below is only for illustration purposes – ...

.NET
Jan 12, 2007
Post comments count0
Post likes count0

Difference Between Perf Data Reported by Different Tools – 4

.NET CLR Memory\% Time in GC counter and !runaway on thread(s) doing GC. The 2 common ways people use to look at the time spent in GC are the % Time in GC performance counter under .NET CLR Memory, and the CPU time displayed by the !runaway debugger command in cdb/windbg. What do they mean exactly? % Time in GC is calculated like this: When the nth...

.NET