微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perfview 线程时间非活动的含义

如何解决perfview 线程时间非活动的含义

我在 linux 上的 dotnet aspnetcore (3.1) 服务上遇到线程池饥饿问题的周期性峰值。值得注意的是,在 Windows 上由于某种原因完全不存在此问题。

我使用 dotnet-trace 捕获了跟踪并得出结论,我确实捕获了感兴趣的区域,因为事件包含多个线程启动事件。

现在我很难理解是什么阻塞了我的几十个线程,从而导致线程池创建了一百多个线程。

我已经阅读了多个文档和文章,但仍然无法完全理解线程非活动和活动之间的区别。在线程时间视图中,我可以看到在非活动节点下方具有堆栈的节点。下面举例。具体来说,该节点位于非活动节点下方。怎么解释?如果非活动意味着线程没有做任何事情的时间,为什么我会在给定的时间区域内看到许多随时间变化的样本?是不是说这个线程在这个栈里真的被阻塞了?

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。