This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use. Learn more
Skip to main content
Microsoft
.NET Blog
.NET Blog
  • Home
  • DevBlogs
    • App Center
    • Azure DevOps
    • Visual Studio
    • Visual Studio Code
    • Visual Studio for Mac
    • Azure Artifacts
    • Azure Boards
    • Azure Pipelines
    • Azure Repos
    • Azure Test Plans
    • DevOps
    • C++
    • Java
    • Java Blog in Chinese
    • JavaScript
    • PowerShell
    • Python
    • Q#
    • Scripting
    • TypeScript
    • Visual Basic
    • Visual C#
    • Visual F#
    • .NET
    • ASP.NET
    • NuGet
    • Xamarin
    • Apps for Windows
    • Azure Government
    • Azure SDKs
    • Bing Dev Center
    • Command Line
    • DirectX Developer Blog
    • IoT Developer
    • Microsoft Edge Dev
    • Microsoft Azure
    • Office 365 Development
    • Old New Thing
    • PIX on Windows
    • Premier Developer
    • Surface Duo
    • Windows Search Platform
    • Azure Cosmos DB
    • Azure Data Studio
    • Azure SQL
    • OData
    • Revolutions R
    • SQL Server Data Tools
    maoni

    Maoni Stephens

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

    Post by this author

    Work flow of diagnosing memory performance issues – Part 2
    Work flow of diagnosing memory performance issues – Part 2
    April 27th, 2020
    Work flow of diagnosing memory performance issues – Part 0 Work flow of diagnosing memory performance issues – Part 1 Work flow of diagnosing memory performance issues – Part 2 (this post) In this blog post I’ll talk a bit about how to spend time wisely and then continue with the analysis. Originally I was going to delve de
    Work flow of diagnosing memory performance issues – Part 1
    Work flow of diagnosing memory performance issues – Part 1
    April 12th, 2020
    Work flow of diagnosing memory performance issues – Part 0 Work flow of diagnosing memory performance issues – Part 1 (this post) Work flow of diagnosing memory performance issues – Part 2 In this blog post I’ll talk a bit about contributing to PerfView and then continue with the GCStats analysis. You can skip to the anal
    Work flow of diagnosing memory performance issues – Part 0
    Work flow of diagnosing memory performance issues – Part 0
    April 5th, 2020
    Work flow of diagnosing memory performance issues – Part 0 (this post) Work flow of diagnosing memory performance issues – Part 1 Work flow of diagnosing memory performance issues – Part 2 I wanted to describe what I do to diagnose memory perf issues, or rather the common part of various work flows of doing such diagnostics
    Helping Customers Effectively
    Helping Customers Effectively
    March 30th, 2020
    I have to put a disclaimer here since this is not the usual type of blog posts I write. I’m by no means a master at communication. This is just what I thought that seemed to work well. YMMV of course. But I’d be very happy if they help you in some way ‘cause many of us work with customers. And I welcome your thoughts and suggestions. I
    Balancing work on GC threads
    Balancing work on GC threads
    March 28th, 2020
    In Server GC, each GC thread will work on its heap in parallel (that's a simplistic view and is not necessarily true for all phases but on the high level it's exact the idea of a parallel GC). So that alone means work is already split between GC threads. But because GC work for some stages can only proceed after all threads are done with their
    Provisional Mode
    Provisional Mode
    February 27th, 2020
    A coworker asked me what this “PMFullGC” trigger reason he’s seeing in GCStats means. I thought it’d be useful to share the info here.PM stands for Provisional Mode which means after a GC starts, it can change its mind about the kind of GC it’s doing. But what does that mean exactly? So normally when we start a GC, the first things w
    Garbage Collection at Food Courts
    Garbage Collection at Food Courts
    February 8th, 2020
    When I first started working on the GC, my predecessor was explaining the GC tuning to me. I told him that I thought it sounded like how I saw janitors work at food courts (I frequented food courts at the time 😀). And he concurred. What I said was if you observe at a food court, in order to be productive, the janitor tries to collect a siz
    GC Handles
    GC Handles
    February 6th, 2020
    A customer asked me about analyzing perf related to GC handles. I feel like aside from pinned handles in general handles are not talked about much so this topic warrants some explanation, especially since this is a user facing feature. For some background info, GC handles are indeed generational so when we are doing ephemeral GCs we only need
    GC Perf Infrastructure – Part 1
    GC Perf Infrastructure – Part 1
    December 9th, 2019
    We open sourced our new GC Perf Infrastructure! It’s now part of the dotnet performance repo. I’ve been meaning to write about it ‘cause some curious minds had been asking when they could use it after I blogged about it last time but didn’t get around to it till now. First of all, let me point out that the target audience of this infr
    The history of the GC configs
    The history of the GC configs
    November 2nd, 2019
    Recently, Nick from Stack Overflow tweeted about his experience of using the .NET Core GC configs – he seemed quite happy with them (minus the fact they are not documented well which is something I’m talking to our doc folks about). I thought it’d be fun to tell you about the history of the GC configs ‘cause it’s almost the weekend a
    • Page 1
    • Page 2
    • Page 3
    • …
    • Page 8
    •  Next page
    Relevant Links

    .NET Download

    .NET Hello World

    .NET Meetup Events

    .NET Documentation

    .NET API Browser

    .NET SDKs

    .NET Application Architecture Guides

    Web apps with ASP.NET Core

    Mobile apps with Xamarin.Forms

    Microservices with Docker Containers

    Modernizing existing .NET apps to the cloud

    Archive
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • October 2011
  • September 2011
  • June 2011
  • April 2011
  • November 2010
  • September 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • November 2008
  • May 2007
  • March 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • June 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • October 2005
  • July 2005
  • May 2005
  • December 2004
  • November 2004
  • September 2004
  • June 2004
  • Topics
  • Dot.Net
  • .NET
  • .NET Core
  • .NET Framework
  • Entity Framework
  • C#
  • ML.NET
  • F#
  • Visual Studio
  • WPF
  • Performance
  • AI Machine Learning
  • Machine Learning
  • Security
  • ASP.NET
  • Docker
  • Async
  • Concurrency
  • TPL
  • Maoni
  • .NET Internals
  • Azure
  • Apache
  • LOH
  • GC
  • XAML
  • Stay informed

    Login
    Code Block
    What's new
    • Surface Go 2
    • Surface Book 3
    • Microsoft 365
    • Surface Pro X
    • Windows 10 apps
    Microsoft Store
    • Account profile
    • Download Center
    • Microsoft Store support
    • Returns
    • Order tracking
    • Store locations
    • Virtual workshops and training
    • Microsoft Store Promise
    Education
    • Microsoft in education
    • Office for students
    • Office 365 for schools
    • Deals for students & parents
    • Microsoft Azure in education
    Enterprise
    • Azure
    • AppSource
    • Automotive
    • Government
    • Healthcare
    • Manufacturing
    • Financial services
    • Retail
    Developer
    • Microsoft Visual Studio
    • Windows Dev Center
    • Developer Network
    • TechNet
    • Microsoft developer program
    • Channel 9
    • Office Dev Center
    • Microsoft Garage
    Company
    • Careers
    • About Microsoft
    • Company news
    • Privacy at Microsoft
    • Investors
    • Diversity and inclusion
    • Accessibility
    • Security
    English (United States)
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020