maoni

.NET GC Architect, .NET Runtime Team

Loves working on #dotnet #dotnetcore GC and other perf stuff.

Post by this author

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 to notice is that a managed process actually just ...

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 questions for me, you could ask them during ...

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 before I leave for vacation I’d like to share with you ...

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 time. Now that I am seeing more people hitting it...

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 to allocate on the stack vs heap. ...

GC ETW Events – 4

GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 GC ETW Events - Part 3 GC ETW Events - Part 4 (this post) Processing GC ETW Events Programmatically with the GLAD Library 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 ...

GC ETW Events – 3

GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 GC ETW Events - Part 3 (this post) GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library In the last blog entry we looked at a particular GC trigger reason – InducedNotForced GCs. There are 2 other triggered reasons for ...

GC ETW events – 2

GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 (this post) GC ETW Events - Part 3 GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library 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...

GC ETW events – 1

GC ETW series - GC ETW Events - Part 1 (this post) GC ETW Events - Part 2 GC ETW Events - Part 3 GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library 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, ...

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 ...