【发布时间】: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