I am analyzing thread-dumps for high CPU usage but all I see is most of the threads are showing message - "This thread is waiting to enter a .NET Lock which is owned by thread" and mostly all call the Microsoft Practices EnterpriseLibrary ConfigurationChangeWatcher. We are using MS Ent Lib 5 for logging. I do not understand how would that all be related to High CPU usage can anyone help me analyze the dumps and throw some light.
ntdll!NtQueryFullAttributesFile+14
KERNELBASE!GetFileAttributesExW+d2
mscorlib_ni+4daefa
mscorlib_ni+4db268
clr!LegacyNGenTryEnumerateFusionCache+d24e8
0x000000d3`906fdd30
0x000000d3`906fdce8
0x000000d3`00000001
0x000002a4`a28f1e00
0x000000d3`00000000
0x000002a1`00000000
mscorlib_ni!System.Threading.TimerQueueTimer.Change(UInt32, UInt32)+60
mscorlib_ni!System.Threading.Timer.Change(Int32, Int32)+6b
System_ni!System.Timers.Timer.set_Enabled(Boolean)+59
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeWatcher.pollTimer_Elapsed(System.Object, System.Timers.ElapsedEventArgs)+d8
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeWatcher.pollTimer_Elapsed(System.Object, System.Timers.ElapsedEventArgs)+a6
System_ni!System.Timers.Timer.MyTimerCallback(System.Object)+103
mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+163
mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+14
mscorlib_ni!System.Threading.TimerQueueTimer.CallCallback()+ba
mscorlib_ni!System.Threading.TimerQueueTimer.Fire()+87
mscorlib_ni!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()+40
mscorlib_ni!System.Threading.ThreadPoolWorkQueue.Dispatch()+152
I also see lot of timer objects ob heap
System.Timers.Timer (81735 objects )
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeFileWatcher (81735 objects )
System.Threading.TimerHolder (81769 objects )
User contributions licensed under CC BY-SA 3.0