我们正在练习了解我们网站的内存使用情况。从windbg,我们发现了这个:
**0:000> !gcroot 000000020422c368
Thread 31e8:
*** WARNING: Unable to verify checksum for NewRelic.Agent.Core.dll
*** ERROR: Module load completed but symbols could not be loaded for NewRelic.Agent.Core.dll
000000000df1e7a0 000007fe9a9f90ae NewRelic.Agent.Core.ThreadProfiling.ThreadProfilingService.Aggregation_WaitCallback(System.Object)
rsi:
-> 00000002ffb43a40 NewRelic.Agent.Core.ThreadProfiling.ThreadProfilingService
-> 00000003ffb93858 NewRelic.Agent.Core.Agent
-> 00000003ffb982b0 NewRelic.Agent.Core.DependencyInjection.WindsorContainer
-> 00000003ffb982c8 Castle.Windsor.WindsorContainer
-> 00000003ffb98310 Castle.MicroKernel.DefaultKernel
-> 00000003ffb98558 System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Castle.MicroKernel.ISubSystem, NewRelic.Agent.Core]]
-> 00000003ffb99380 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[Castle.MicroKernel.ISubSystem, NewRelic.Agent.Core]][]
-> 00000003ffb99000 Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem
-> 00000003ffb990f8 System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Castle.MicroKernel.IHandler, NewRelic.Agent.Core]]
-> 00000002ffb17860 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[Castle.MicroKernel.IHandler, NewRelic.Agent.Core]][]
-> 00000003ffbad180 Castle.MicroKernel.Handlers.DefaultHandler
-> 00000003ffbad278 Castle.MicroKernel.Lifestyle.SingletonLifestyleManager
-> 00000002ffb22560 Castle.MicroKernel.Burden
-> 00000001ffb4e160 NewRelic.Agent.Core.Transformers.SimpleSegmentTransformer
-> 00000001ffb4d050 NewRelic.Agent.Core.Aggregators.MetricAggregator
-> 00000001ffb4b450 NewRelic.Agent.Core.DataTransport.DataTransportService
-> 00000001ffb48a18 NewRelic.Agent.Core.DataTransport.ConnectionManager
-> 00000001ffb48840 NewRelic.Agent.Core.Time.Scheduler
-> 00000001ffb488e8 System.Collections.Generic.Dictionary`2[[System.Action, mscorlib],[System.Threading.Timer, mscorlib]]
-> 00000002ffb43458 System.Collections.Generic.Dictionary`2+Entry[[System.Action, mscorlib],[System.Threading.Timer, mscorlib]][]
-> 00000001ffb4b9c8 System.Threading.Timer
-> 00000001ffb4bae8 System.Threading.TimerHolder
-> 00000001ffb4b9e8 System.Threading.TimerQueueTimer
-> 00000002ffb432e0 System.Threading.TimerQueueTimer
-> 00000002ffb40090 System.Threading.TimerQueueTimer
-> 00000001ffb4ecd0 System.Threading.TimerQueueTimer
-> 00000002ffb40d70 System.Threading.TimerQueueTimer
-> 00000001ffb4d2b0 System.Threading.TimerQueueTimer
-> 00000002ffb406f8 System.Threading.TimerQueueTimer
-> 00000001ffd985a0 System.Threading.TimerQueueTimer
-> 00000003ffdc8060 System.Threading.TimerQueueTimer
-> 00000003ffcc85a8 System.Threading.TimerQueueTimer
-> 00000003ffc02558 System.Threading.TimerQueueTimer
-> 00000003ffc02e80 System.Threading.TimerQueueTimer
-> 00000000ffb41b80 System.Threading.TimerQueueTimer
-> 00000000ffb38f80 System.Threading.TimerQueueTimer
-> 00000001ffaf06c8 System.Threading.TimerQueueTimer
-> 00000003ffb19d88 System.Threading.TimerQueueTimer
-> 00000003ffaffe38 System.Threading.TimerQueueTimer
-> 00000003ffaffdd8 System.Threading.TimerCallback
-> 00000003ffafe570 **System.Web.Caching.CacheExpires**
-> 00000003ffafe4b8 System.Web.Caching.CacheSingle
-> 00000003ffafe520 System.Collections.Hashtable
-> 00000005320b3238 System.Collections.Hashtable+bucket[]
-> 000000020422c418 System.Web.Caching.CacheEntry
-> 000000010359dfb8 System.Collections.Generic.List`1[[FinancialExpress.Analytics.WebSite.WebServices.SearchService+SectorItem, FinancialExpress.Analytics.WebSite]]
-> 000000020420c698 System.Object[]
-> 000000020422c368 FinancialExpress.Analytics.WebSite.WebServices.SearchService+SectorItem**
对我来说,这意味着这个项目在缓存中,但现在已过期(当CacheExpires出现时)。但是,我不确定为什么会出现newrelic。是不是以某种方式newrelic持有对象的引用并阻止对象被重新发送?