Дамп потока для высокой загрузки ЦП показывает вызовы Microsoft.Practices.EnterpriseLibrary.Common - PullRequest
0 голосов
/ 27 марта 2020

Я анализирую дампы потоков для высокой загрузки ЦП, но все, что я вижу, - это то, что большинство потоков показывает сообщение: «Этот поток ожидает ввода. NET Блокировка, принадлежащая потоку», и в основном все вызывают Microsoft Practices EnterpriseLibrary ConfigurationChangeWatcher. Мы используем MS Ent Lib 5 для регистрации. Я не понимаю, как все это может быть связано с высокой загрузкой ЦП, может кто-нибудь помочь мне проанализировать дампы и пролить немного света.

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 

Я также вижу много объектов таймера в куче

System.Timers.Timer                                                                                 (81735 objects ) 
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeFileWatcher   (81735 objects )
System.Threading.TimerHolder                                                                        (81769 objects )
...