Skip to content
0:00 / 0:00

#dotnet#dotnet-dump#dotnet-counters

Diagnosing thread pool exhaustion issues in .NET Core apps

dotnet

357K subscribers • 45 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Mike Rousos, Software Engineer
  • Linked in the descriptionmjrousos/DotNetDiagnosticsSamples
  • Made by the vendor. The company whose product it covers made or sponsored it.

Intermediate. Assumes working knowledge.

29K views5 years ago2 recommendations

Systems programmingTools and practicePerformance and optimizationConcurrency and parallelismDebugging

Mike Rousos demonstrates how to use .NET CLI tools like dotnet-counters and dotnet-dump to diagnose thread pool exhaustion.

In this episode, Software Engineer, Mike Rousos, joins Rich to go through some ways to diagnose thread pool exhaustion in your .NET apps. Mike discusses and demos a collection of .NET CLI tools and techniques that can be used on Windows or Linux environments. [] - Intro [] - How does thread pool exhaustion occur? [] - Inspecting diagnostics using dotnet-counters [] - Collecting and analyzing dumps with dotnet-dump [] - Switching to the async API Thread pool exhaustion github.com/mjrousos/DotNetDiagnosticsSamples/tree/main/1-Thr… Investigate performance counters docs.microsoft.com/dotnet/core/diagnostics/dotnet-counters?W… Dump collection and analysis utility docs.microsoft.com/dotnet/core/diagnostics/dotnet-dump?WT.mc… Symbol downloader docs.microsoft.com/dotnet/core/diagnostics/dotnet-symbol?WT.… Get your questions answered on the Microsoft Q&A for .NET - aka.ms/dotnet-qa​ Learn .NET with free self-guided learning from Microsoft Learn: aka.ms/learndotnet #DotNet #Diagnostics

Why it's here

2 people recommend this

What people say. Recommended as a helpful guide for troubleshooting .NET thread pool starvation and performance issues in production.

u/shikatoziin r/dotnet • Recommends

On “What tools and techniques have you used lately to debug your .NET applications in production?”

Sure, check out Rich and Mike Rousos’ diagnostics video using the tools I mentioned. There’s a couple of related videos one you start browsing but this is a good starting point diagnosing threadpool exhaustion in dotnet apps One gotcha is: if you’re running on a linux machine, use dotnet-gcdump instead of dotnet-dump. It’s cross platform and will be able to import into PerfView.

u/Normal-Deer-9885in r/dotnet • Recommends

On “Finding memory leak root cause in a remote Docker container w/o leaving a console”

No need to install the whole sdk if I remember well. The diagnostic tools now are cli style and could be just downloaded and executed locally. I saw these couple demo from .net a while ago and they are neat in my opinion. link to this video link to this video Still, they downloaded the dump to analyze it and one can just avoid that as OP mentioned.

u/brown950in r/dotnet • Mentions

On “ThreadPool Starvation troubleshooting production”

I've had this video on my watch list for a while, haven't seen it, perhaps it would be of some help: link to this video You may also want to try dotTrace from jetbrains. They have a CLI version that can run on remote servers to capture traces. There's a free trial for it, perhaps you could run the CLI version from the kudu console or container (if you're using them with app service).