【问题标题】:Task Manager, ProcessExplorer, or similar tool: monitoring and managing CLR threads任务管理器、ProcessExplorer 或类似工具:监视和管理 CLR 线程
【发布时间】:2023-03-28 00:46:02
【问题描述】:

有没有一种工具可以查看在 CLR 中运行的托管线程?理想情况下,我希望看到 CPU 负载、状态、托管名称和托管 id,希望即使线程属于线程池,或者是后台线程。它将能够对线程池、前台线程和后台线程进行分组/折叠。

动机:

我正在使用 CLR Profiler 进行开发工作。我希望 Process Explorer 的简单性,以便测试人员和客户支持人员可以使用它,即使只是在后台运行。

【问题讨论】:

  • 嗨,@Gregc,我和你之前遇到的问题一样,我想监控我的应用程序中创建的线程,至少我想知道线程的状态,比如死或活。如果您可以与我分享您的解决方案或给我一个方向,我将不胜感激。谢谢。
  • @Joe.wang 如果这是您正在编写的新代码,我强烈建议您放弃线程并使用任务。 TPL 直接支持您正在寻找的内容。如果这是您以前继承的一些代码,请考虑提出一个好问题并提供一个链接,以便我可以尝试回答它。
  • 嗨,@Gregc,实际上我将为我的应用程序编写这段代码。你能给我更多的细节吗?非常感谢。
  • @Joe.wang 这是一本好书:albahari.com/threading
  • 谢谢,这篇文章讲述了线程机制和线程安全等。还有其他线程监视器吗?

标签: .net performance monitoring


【解决方案1】:

CLR Profiler 应该可以满足您的需求。

【讨论】:

  • 我使用的是 CLRProfiler 2.0。 +1 以获得更新版本的链接。
【解决方案2】:

你还没有使用Performance MonitorHere's a decent blog post 关于它以及许多可用于在运行时监控 .NET 的计数器的一些详细信息。

【讨论】:

  • +1 链接。该博客似乎相关,但实际帖子并未指出我在寻找什么。顺便说一句,这些功能也是 Process Explorer 的一部分。我正在寻找类似于 Process Explorer 中的线程选项卡的细分,但在托管线程上。
  • @GregC:我不相信它,对不起。
  • 我有一种感觉,这个问题可能需要赏金......这是非常重要的,必须有人来做一个:)
【解决方案3】:

Concurrency Visualizer 能够提供我需要的洞察力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    相关资源
    最近更新 更多