Note that there are some explanatory texts on larger screens.

plurals
  1. POTools, tips, and tricks for monitoring multithreaded .NET applications
    primarykey
    data
    text
    <p>I'm embarking on a C# project where certain tasks will be divvied up and run on multiple threads. I'm looking for as many good tools as possible to help make sure I'm running as efficiently as possible. So I want to watch for things like resource (CPU) usage, blocking, deadlocks, threads that are waiting for work, and so on. I want to be able to compare different approaches to see what works best under different conditions.</p> <p>I'm also looking to learn what Perfmon counters are more or less useful for trying to optimize and compare threading models. </p> <p>I also can't afford to purchase anything too expensive, so the free-er the better.</p> <p>This is a C# project on .NET 3.5, with VS 2008 (though I could use the VS 2010 beta if it offered more help for threading, which I've heard it does).</p> <p>Thanks.</p> <p>EDIT: I'm definitely looking for Perfmon recommendations, as well as any other tool that I can also use when I want to monitor the app in a production environment. So, debugging tools are needed, but I also want tools for non-debug environments. Thx.</p> <p>FURTHER EDIT: Here are a few useful links I've found since I asked the question:</p> <ul> <li><A href="http://msdn.microsoft.com/en-gb/magazine/cc546569.aspx" rel="nofollow noreferrer">Tools And Techniques to Identify Concurrency Issues</A> (MSDN Magazine Article)</li> <li><a href="http://dotnetdebug.net/2005/06/30/perfmon-your-debugging-buddy/" rel="nofollow noreferrer">PerfMon - Your debugging buddy</a> (important counters for .NET debugging, including threading related counters)</li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload