Job support in the GC

I’ve noticed that more and more of our customers started to use job objects to restrict some form of resources for their processes such as CPU and memory. So I wanted to talk about the kind of support the GC offers to help with your managed processes running in a job object. The first thing…

2

On.NET show

So apparently CLR has this show on YouTube called On.NET which I was not aware of till yesterday. In any case, I have been invited on the show for the next episode which is 10am-11am next Thursday (05/26). This is streaming on YouTube so you can ask questions during the air time. So if you do have…

4

Are you GLAD?

Holidays are almost upon us. Last year around Christmas time I wrote a set of GC ETW blog entries to help with diagnosing GC heap related issues. This year I want to discuss taking that a (big) step further and making an SDK that does the analysis for you using these ETW events – so…

5

Gen2 free list changes in CLR 4.6 GC

I wanted to mention this because I started seeing posts about it. In 4.6 we improved the way we use the gen2 free list to promote gen1 survivors into. Unfortunately there was a perf bug that I didn’t notice till it was fairly late so it wasn’t approved to be checked into 4.6 at the…

40

Allocating on the stack or the heap?

A recent discussion prompted me to write this blog entry. The question there was “when should I allocate something on the stack vs on the heap?”. I searched around and there are plenty of articles that talk about *what* gets allocated on the stack vs on the heap, but not how you should decide what…

5

GC ETW Events – 4

So you thought it was over, eh? But wait, there is more! My vacation is not over yet! 😀 In the last blog entry I explained the Suspend MSec and the Pause MSec columns in GCStats and how they are calculated. In this entry I’d like to talk about a few other columns. GenX MB,…

2

GC ETW Events – 3

In the last blog entry we looked at a particular GC trigger reason – InducedNotForced GCs. There are 2 other triggered reasons for induced GCs are: InducedLowMemory – GC subscribes to the low memory notification from the OS and when the OS notifies us that “the memory is low on the machine” a GC is…

2

GC ETW events – 2

Before we continue from where we left off in the last blog entry I wanted to give a performance tip on managed memory analysis. As some of you who have already tried out Perfview you probably noticed it has a Heap Snapshot feature (in the PerfView UI, if you click on Memory\Take Heap Snapshot) which…

2

GC ETW events – 1

A lot of people have mentioned to me that I have not posted anything for a long time. I do realize it and do appreciate being asked to write more. Well, it’s end of year and I am starting vacation so I thought I’d write something light that perhaps makes good reading around Christmas time…

5

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…

0