Sign In
Maoni's WebLog
CLR Garbage Collector
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
RSS for posts
Atom
RSS for comments
OK
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
Debugging
General
Performance
Archive
Archives
September 2011
(1)
November 2010
(1)
April 2010
(1)
May 2009
(1)
November 2008
(1)
May 2007
(1)
March 2007
(1)
January 2007
(1)
December 2006
(3)
November 2006
(4)
October 2006
(1)
September 2006
(2)
August 2006
(1)
June 2006
(2)
April 2006
(1)
February 2006
(2)
January 2006
(1)
October 2005
(1)
July 2005
(1)
May 2005
(1)
December 2004
(1)
November 2004
(2)
September 2004
(2)
June 2004
(3)
MSDN Blogs
>
Maoni's WebLog
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Maoni's WebLog
So, what's new in the CLR 4.5 GC?
Posted
8 months ago
by
Maoni Stephens
2
Comments
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...
Maoni's WebLog
Finalization Uncovered
Posted
over 2 years ago
by
Maoni Stephens
0
Comments
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...
Maoni's WebLog
Debugging with the Right Tools
Posted
over 2 years ago
by
Maoni Stephens
10
Comments
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...
Maoni's WebLog
Channel9 Video on Background GC
Posted
over 3 years ago
by
Maoni Stephens
4
Comments
A couple of weeks back my PM and I did a channel9 video on Background GC. Take a look: http://channel9.msdn.com/shows/Going+Deep/Maoni-Stephens-and-Andrew-Pardoe-CLR-4-Inside-Background-GC/
Maoni's WebLog
So, what’s new in the CLR 4.0 GC?
Posted
over 4 years ago
by
Maoni Stephens
24
Comments
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...
Maoni's WebLog
64-bit vs 32-bit
Posted
over 5 years ago
by
Maoni Stephens
50
Comments
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...
Maoni's WebLog
He’s live… he’s live not… he’s live…
Posted
over 5 years ago
by
Maoni Stephens
10
Comments
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...
Maoni's WebLog
Difference Between Perf Data Reported by Different Tools – 4
Posted
over 5 years ago
by
Maoni Stephens
6
Comments
.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...
Maoni's WebLog
Difference Between Perf Data Reported by Different Tools – 3
Posted
over 6 years ago
by
Maoni Stephens
15
Comments
Both the !SOS.gchandles command (added in CLR 2.0) and the .NET CLR Memory\# GC Handles counter show you the number of GC handles you have in your process. The # GC Handles counter is one of the rare counters in the .NET CLR Memory category that doesn...
Maoni's WebLog
Difference Between Perf Data Reported by Different Tools – 2
Posted
over 6 years ago
by
Maoni Stephens
7
Comments
Managed Heap Size We have both .NET CLR Memory perf counters and SoS extensions that report manged heap size related data. Difference 2 There are a few .NET CLR Memory counters that are related to the managed heap size: # Total Committed Bytes...
Maoni's WebLog
Difference Between Perf Data Reported by Different Tools - 1
Posted
over 6 years ago
by
Maoni Stephens
4
Comments
So, there are many perf tools and some of them report either the same or the same type of data. I want to talk about various differences between the ones related to managed heap investigation. This is not supposed to cover everything..just the ones I...
Maoni's WebLog
Not seeing the WKS:: and the SVR:: namespace?
Posted
over 6 years ago
by
Maoni Stephens
6
Comments
These namespaces were introduced in CLR 2.0. For example for the GCHeap::GcCondemnedGeneration symbol, it's WKS::GCHeap::GcCondemnedGeneration for Workstation GC and SVR::GCHeap::GcCondemnedGeneration for Server GC (if you are reading the...
Maoni's WebLog
Check out the CLR Lead Architect's New Blog
Posted
over 6 years ago
by
Maoni Stephens
5
Comments
Many people know Patrick Dussud by his outstanding work on Garbage Collection. But did you know he was one of the founders of the CLR? In his intro blog entry he talks about how the CLR came to life. I am sure it will be a great read for those of you...
Maoni's WebLog
My application seems to hang. What do I do? – Part 2
Posted
over 6 years ago
by
Maoni Stephens
8
Comments
Last time I talked about the hang scenario where your process is taking 0 CPU and the CPU is taking by other process(es) on the same machine. The next scenario is your process is taking 0 CPU and the CPU is barely used by other processes. ...
Maoni's WebLog
Correlating the output of !eeheap -gc and !address
Posted
over 6 years ago
by
Maoni Stephens
15
Comments
!address is a very powerful debugger command. It shows you exactly what your VM space looks like. If you already got the output from the !sos.eeheap -gc command (refer to this article for usage on sos), for example: 0:003> !eeheap -gc Number of...
Maoni's WebLog
New MSDN Article - Investigating Memory Issues
Posted
over 6 years ago
by
Maoni Stephens
10
Comments
We have a new MSDN article out in the November issue that talks about investigating managed memory issues. http://msdn.microsoft.com/msdnmag/issues/06/11/CLRInsideOut/default.aspx?loc=en Take a look and let me know what you think. Oh, and it...
Maoni's WebLog
My application seems to hang. What do I do? – Part 1
Posted
over 6 years ago
by
Maoni Stephens
16
Comments
Defining “hang” is a good place to start. When people say “hang” they could mean all sorts of things. When I say “hang” I mean the process is not making progress – the threads in the process are either blocked (eg. deadlocked, or not scheduled because...
Maoni's WebLog
Understand the problem before you try to find a solution
Posted
over 6 years ago
by
Maoni Stephens
18
Comments
So far I’ve never written a blog entry that gives out philosophical advices on doing performance work. But lately I thought perhaps it’s time to write such an entry because I’ve seen enough people who looked really hard at some performance counters (often...
Maoni's WebLog
I Am a Happy Janitor – Part 1: Finding garbage
Posted
over 6 years ago
by
Maoni Stephens
21
Comments
Indeed what I do is very much like the job of the janitors – like the ones who clean your building, or janitors you see at a food court, or yourself when you are taking care of garbage at your house. Doubtful you say? Let me prove it to you. Finding...
Maoni's WebLog
Suspending and resuming threads for GC
Posted
over 6 years ago
by
Maoni Stephens
8
Comments
First of all, suspension and resumption of threads is not really part of the GC. GC calls functions to do the suspension and the resumption as a service provided in the CLR. Other components in the CLR also use this service such as the debugger implementation...
Maoni's WebLog
When memory is running low…
Posted
over 6 years ago
by
Maoni Stephens
16
Comments
When I say memory I mean physical memory. Let’s assume that you have enough virtual memory space. When the physical memory gets low you may start getting OOMs or start paging. You can experiment and see how you can avoid getting into the low memory...
Maoni's WebLog
Large Object Heap
Posted
over 6 years ago
by
Maoni Stephens
20
Comments
LOH (Large Object Heap) contains objects that are 85,000 bytes or bigger (there’s also some objects that are less than 85,000 bytes that are allocated on the LOH by the runtime itself but usually they are very small and we’ll ignore them for this discussion...
Maoni's WebLog
Workstation GC for server applications?
Posted
over 6 years ago
by
Maoni Stephens
7
Comments
In Using GC Efficiently – Part 2 I talked about different flavors of GC that exist in the CLR and how you choose which flavor is good for your applications, and I said that the Server GC flavor is designed for server applications. As with any performance...
Maoni's WebLog
Thank you all for your comments!
Posted
over 6 years ago
by
Maoni Stephens
0
Comments
I will write about the things you asked in my last blog entry's comments in the next few blog entries.
Maoni's WebLog
What do you want to know?
Posted
over 6 years ago
by
Maoni Stephens
13
Comments
In my previous Using GC Efficiently entries I've basically covered all the big areas of GC in the CLR. There are of course a lot of things to write about GC but I want to keep GC users as my target audience, not GC designers/implementors. So I would really...
Page 1 of 2 (36 items)
1
2