0

程序故CPU占满100%,怀疑是SDK造成的。

微信开发 · fengshi_1988 · 查看 916 次 · 于 189天前

如题,线上程序很少访问量,但是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]
您尚未登陆,请:网站登录 or 微信登陆
共收到 9 条回复
0

hsc413408219 157天前

@fengshi_1988  谢谢 ,我测试看看

Dictionary 和 ConcurrentDictionary 使用线程安全的字典集合ConcurrentDictionary,我曾经也有过这个问题。

0

fengshi_1988 157天前

目前该问题的解决方案,可以查看github上的这个Issue,我已经关闭了哈。
https://github.com/Senparc/Senparc.CO2NET/issues/150

0

hsc413408219 157天前

@fengshi_1988 你解决了吗

0

hsc413408219 157天前

好的,我追踪定位一下,因为是偶尔出现

0

Senparc 158天前

@hsc413408219 最新的版本应该都已经可以排除这个字典同步写入的问题了,如果要确定问题,最好和楼主一样有跟踪的数据提供,才好定位问题。

0

hsc413408219 158天前

我也出现了这个问题,cpu100%

0

fengshi_1988 176天前




gloable.asax 配置如下,之前人为是配置的问题,但是现在发现修改成如下配置后依旧出现该问题。
          var isGLobalDebug = false;//设置全局 Debug 状态
           var isWeixinDebug = false;//设置微信 Debug 状态
           var senparcSetting = SenparcSetting.BuildFromWebConfig(isGLobalDebug);
           var register = RegisterService.Start(senparcSetting).UseSenparcGlobal();//CO2NET全局注册,必须!
           var senparcWeixinSetting = SenparcWeixinSetting.BuildFromWebConfig(isWeixinDebug);
           register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting);////微信全局注册,必须!
           AccessTokenContainer.RegisterAsync(ConfigSetting.AppId, ConfigSetting.Appsecret).GetAwaiter().GetResult();

0

fengshi_1988 176天前

<package id="Senparc.CO2NET" version="0.8.2" targetFramework="net45" />
 <package id="Senparc.CO2NET.APM" version="0.4.1.1" targetFramework="net45" />
 <package id="Senparc.NeuChar" version="0.7.4" targetFramework="net45" />
 <package id="Senparc.NeuChar.App" version="0.5.4" targetFramework="net45" />
 <package id="Senparc.Weixin" version="6.4.8" targetFramework="net45" />
 <package id="Senparc.Weixin.MP" version="16.7.9" targetFramework="net45" />
 <package id="Senparc.Weixin.MP.MVC" version="5.0.0" targetFramework="net45" />

0

Senparc 183天前

请问使用的dll版本是什么?


热门话题 更多 >>

cpu满载

blezt 23 个回复 • 查看 1253 次 • 158天前

GetWxaCodeUnlimit 生成1KB文件

a124754649 22 个回复 • 查看 1840 次 • 181天前

.NetCore 微信退款

PP52988888 16 个回复 • 查看 559 次 • 3天前

[企业微信] 求助 怎么使用 企业微信的 通讯录回调

cqzxc 12 个回复 • 查看 524 次 • 106天前

程序故CPU占满100%,怀疑是SDK造成的。

fengshi_1988 9 个回复 • 查看 916 次 • 157天前

微信硬件平台图片接收问题

shinenet 8 个回复 • 查看 1456 次 • 41天前

core 3.0对接微信公众号后消息响应报错。

jianweie 7 个回复 • 查看 1337 次 • 179天前

小程序订阅消息

cqinwn 7 个回复 • 查看 875 次 • 88天前

MessageHandler问题

dengguolun 7 个回复 • 查看 954 次 • 161天前

Value cannot be null. Parameter name: services

abcd631664138 6 个回复 • 查看 2180 次 • 141天前

Senparc.Weixin.MP-不能处理消息

Arthit 5 个回复 • 查看 512 次 • 134天前

如何实现群发模板消息给所有关注用户?

crashsol 4 个回复 • 查看 720 次 • 26天前

这几个参数不知道写哪个

linye521 4 个回复 • 查看 227 次 • 120天前

QQ群
  • 1群:300313885 (2000人群 已满)
  • 2群:293958349 (1000人群 已满)
  • 3群:342319110 (2000人群 已满)
  • 4群:372212092 (500人群 已满)
  • 5群:377815480 (1000人群 已满)
  • 6群:425898825 (1000人群 已满)
  • 7群:482942254 (500人群 已满)
  • 8群:106230270 (500人群 已满)
  • 9群:539061281 (500人群 已满)
  • 10群(分布式缓存):246860933 Senparc.Weixin.Cache SDK 10群
  • 11群:553198593 (500人群 已满)
  • 12群(微信小程序):108830388 Senparc微信小程序 12群
  • 13群(开放平台):183424136 (500人群 已满)
  • 14群(视频学员):588231256 Senparc.Weixin SDK 14群
  • 15群(公众号/综合):289181996 Senparc.Weixin SDK 15群
  • 16群(开放平台):860626938 (500人群 已满)
  • 17群(开放平台):770615466 [17群 开放平台]SenparcSDK
  • NeuChar 技术交流群:618605800 NeuChar 开发交流群
  • SCF 技术交流群:147054579 SCF 开发交流群
微信开发宝典:《微信开发深度解析》

由 Senparc.Weixin SDK 作者耗时两年完成的微信开发图书《微信开发深度解析:公众号、小程序高效开发秘籍》已经出版!

历经2年精心雕琢,难得的“理论 + 实战案例 + 趟坑经验”总结,
从需求分析、策划,到账号申请、验证,再到全面的 API 及开发工具,
覆盖所有开发微信公众号(含订阅号、服务号和小程序)所需关键技能!

视频教程:《微信公众号+小程序快速开发》

由盛派课堂(盛派旗下独立教育品牌)制作,《微信开发深度解析》作者苏震巍先生主讲的《微信公众号+小程序快速开发》视频课程开课啦!

课程采用“理论+实战”的教学形式,结合部分《微信开发深度解析》内容,独立于书本,包含了更多的操作演示和案例展示,帮助大家从多个维度学习微信开发以及.NET开发过程中的诸多技巧。
课程包含两大部分:
1. 微信开发基础技能
2. 公众号及小程序案例实战
共计60课时,配有番外篇,目前视频已在网易云课堂上线。