程序故CPU占满100%,怀疑是SDK造成的。
微信开发
· fengshi_1988
· 查看 272 次
· 于 70天前
如题,线上程序很少访问量,但是CPU占满
a.WINDB 使用~* e!clrstack 打印出相关信息后,发现有三个线程卡死在同一个位置:
000000001590d7e0 000007fe9987e709 System.Collections.Generic.Dictionary`2[[System.__Canon, mscorlib],[System.DateTimeOffset, mscorlib]].FindEntry(System.__Canon)
000000001590d860 000007fe9cc5305a Senparc.CO2NET.APM.DataOperation+d__8.MoveNext()
000000001590d970 000007fe9cc52f6c System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Senparc.CO2NET.APM.DataOperation+d__8, Senparc.CO2NET.APM]](d__8 ByRef)
000000001590da20 000007fe9cc52ebf Senparc.CO2NET.APM.DataOperation.RegisterFinalKeyAsync(System.String)
000000001590daf0 000007fe9cc4e3a6 Senparc.CO2NET.APM.DataOperation+d__11.MoveNext()
000000001590dcd0 000007fef41c2490 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001590dda0 000007fef41c2327 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001590ddd0 000007fef424cfed System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
000000001590de20 000007fef4254232 System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
000000001590de70 000007fef422db68 System.Threading.Tasks.Task.FinishContinuations()
000000001590df00 000007fef42530f4 System.Threading.Tasks.Task`1[[System.Threading.Tasks.VoidTaskResult, mscorlib]].TrySetResult(System.Threading.Tasks.VoidTaskResult)
000000001590df30 000007fef424bafd System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Threading.Tasks.VoidTaskResult, mscorlib]].SetResult(System.Threading.Tasks.VoidTaskResult)
000000001590df70 000007fef424bb3c System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Threading.Tasks.VoidTaskResult, mscorlib]].SetResult(System.Threading.Tasks.Task`1)
000000001590dfa0 000007fe9cc52989 Senparc.CO2NET.Cache.LocalObjectCacheStrategy+d__14.MoveNext()
000000001590e020 000007fef41c2490 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001590e0f0 000007fef41c2327 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001590e120 000007fef424cfed System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
000000001590e170 000007fef4254232 System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
000000001590e1c0 000007fef422db68 System.Threading.Tasks.Task.FinishContinuations()
000000001590e250 000007fef424a3a4 System.Threading.Tasks.Task.Finish(Boolean)
000000001590e2b0 000007fef424b1e0 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
000000001590e360 000007fef424a888 System.Threading.Tasks.Task.ExecuteEntry(Boolean)
000000001590e3a0 000007fef41d1f70 System.Threading.ThreadPoolWorkQueue.Dispatch()
000000001590e8c8 000007fef8e93753 [DebuggerU2MCatchHandlerFrame: 000000001590e8c8]
000000001590ea58 000007fef8e93753 [ContextTransitionFrame: 000000001590ea58]
000000001590ec78 000007fef8e93753 [DebuggerU2MCatchHandlerFrame: 000000001590ec78]