【问题标题】:Perfmon - # logical threads explodesPerfmon - # 逻辑线程爆炸
【发布时间】:2018-12-11 23:05:12
【问题描述】:

我体验到单个特定的 w3wp 进程根据 perfmon 跳转到惊人的 +400.000.000.000 个逻辑线程。

我在“放大”和“缩小”模式下添加了 perfmon 的屏幕截图。看起来跳转发生在同一进程的物理线程数下降的同时。

逻辑线程计数的实际值是 4,294,967,294 - 比可能的最高 uint 值小 1,这导致我认为它可能是值 -1 溢出。

有谁知道这是否真的是这个引用的 stackoverflow 帖子中提到的错误? Incredible number of logical threads; windbg can't see them?

或者有没有人有其他的解释或者调试建议?

【问题讨论】:

  • 如果您能提供minimal reproducible example,那就太好了。
  • 当然,您可以放心地假设您正在查看无意义的数据。是的,-1。底层代码中的线程竞争错误可能会使计数减 1。但不太可能,因为它不是增量计数器并且不会接近 0,更有可能是错误检查不足。可能是重新启动机器的灵感。继续前进,你无能为力。
  • @mjwills 我完全同意。但这是我现在所拥有的,对不起:)
  • @HansPassant perfmon 再次失败,我猜……这个工具太可怕了:(

标签: c# multithreading perfmon


【解决方案1】:

根据 Hans Passant 的值和答案,我得出结论,这是一个线程竞赛错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多