.NET Blog

Free. Cross-platform. Open source. A developer platform for building all your apps.

Difference Between Perf Data Reported by Different Tools – 3

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’t get updated at the end of each GC. Rather we update it in the handle table code, for ...

Difference Between Perf Data Reported by Different Tools – 1

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 think people use frequently. Managed Heap Size We have both .NET CLR Memory perf counters and ...

My application seems to hang. What do I do? – Part 2

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.   As one of the readers correctly pointed out, this is very likely because you have a ...

Correlating the output of !eeheap -gc and !address

!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 -gcNumber of GC Heaps: 1generation 0 starts at 0x01245078generation 1 starts at 0x0124100cgeneration 2 starts ...

New MSDN Article – Investigating Memory Issues

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's also in 6 other languages (German, Spanish, French, Russian, Portuguese and Chinese) ...

Tools that help diagnose managed memory related issues

I was writing an internal wiki page on performance and thought this info is useful to many external readers as well so here it goes. vadump is a good start. It’s an mstools tool – meaning you can find it on your NT CD under bin\mstools. You can take a snapshot of the process and see if the GC heap is an issue or not. It was created a long ...