we have an asp.net app in production where w3wp.exe is taking 100% CPU ( 4 cores - 4 threads at 25% ) and cpu load never goes down until we recycle the application pool ( the app is alone in the application pool ). Our error log has nothing, there is no exceptions being emitted ( or at least we don t catch them ) so we suspect it s code problem ( infinite loop / deadlock ). The problem only arises after some hours running with high load ( several thousand users ).
There is any way to profile one of the EXISTING threads that is causing cpu load ? After taking a look to JetBrains s DotTrace Profiler seems like it s not possible for limitations of Profiling API and man, we haven t get to reproduce the problem in our testing environment. The app uses SQL Server 2005, LINQ2SQL and System.Transactions API.
Any suggestion to find the problem ?