Showing results for .NET - .NET Blog

Dec 12, 2006
Post comments count0
Post likes count0

Difference Between Perf Data Reported by Different Tools – 1

maoni
maoni

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

.NET
Nov 30, 2006
Post comments count0
Post likes count0

Not seeing the WKS:: and the SVR:: namespace?

maoni
maoni

These namespaces were introduced in CLR 2.0. For example for the   GCHeap::GcCondemnedGeneration   symbol, it's WKS::GCHeap::GcCondemnedGeneration for Workstation GC and SVR::GCHeap::GcCondemnedGeneration for Server GC (if you are reading the Investigating Memory Issues article in the recent MSDN magazine and are trying out some of the d...

.NET
Nov 22, 2006
Post comments count0
Post likes count0

Check out the CLR Lead Architect’s New Blog

maoni
maoni

Many people know Patrick Dussud by his outstanding work on Garbage Collection. But did you know he was one of the founders of the CLR? In his intro blog entry he talks about how the CLR came to life. I am sure it will be a great read for those of you who are curious about it.

.NET
Nov 14, 2006
Post comments count0
Post likes count0

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

maoni
maoni

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

.NET
Nov 8, 2006
Post comments count0
Post likes count0

Correlating the output of !eeheap -gc and !address

maoni
maoni

!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 at 0x0...

.NET
Oct 23, 2006
Post comments count0
Post likes count0

New MSDN Article – Investigating Memory Issues

maoni
maoni

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) for re...

.NET
Sep 28, 2006
Post comments count0
Post likes count0

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

maoni
maoni

Defining “hang” is a good place to start.   When people say “hang” they could mean all sorts of things. When I say “hang” I mean the process is not making progress – the threads in the process are either blocked (eg. deadlocked, or not scheduled because of threads from other processes) or executing code (madly) but not doing useful work (eg. i...

.NET
Sep 1, 2006
Post comments count0
Post likes count0

Understand the problem before you try to find a solution

maoni
maoni

So far I’ve never written a blog entry that gives out philosophical advices on doing performance work. But lately I thought perhaps it’s time to write such an entry because I’ve seen enough people who looked really hard at some performance counters (often not correct ones) or some other data and asked tons of questions such as “is this allocation r...

.NET
Aug 18, 2006
Post comments count0
Post likes count0

I Am a Happy Janitor – Part 1: Finding garbage

maoni
maoni

Indeed what I do is very much like the job of the janitors – like the ones who clean your building, or janitors you see at a food court, or yourself when you are taking care of garbage at your house. Doubtful you say? Let me prove it to you. Finding garbage What do you do when you are having lunch with your friends at a food court and suddenly...

.NET
Jun 7, 2006
Post comments count0
Post likes count2

Suspending and resuming threads for GC

maoni
maoni

First of all, suspension and resumption of threads is not really part of the GC. GC calls functions to do the suspension and the resumption as a service provided in the CLR. Other components in the CLR also use this service such as the debugger implementation. But it’s true that suspending and resuming because of the GC is the most significant usag...

.NET