【问题标题】:measure time .net thread spent waiting for IO测量 .net 线程等待 IO 所花费的时间
【发布时间】:2011-06-15 10:08:30
【问题描述】:

这是How much time spent in a .NET Thread?的延续

我知道如何测量线程的 cpu 时间 (http://www.codeproject.com/KB/dotnet/ExecutionStopwatch.aspx),但我不知道如何测量线程的 IO 等待。线程等待 IO,被中断。当其他线程执行时,我们线程的IO操作早就结束了,我们回到我们的线程,我们停止Stopwatch,但是它显示错误的大时间。对此有何想法?

【问题讨论】:

    标签: .net io threadpool


    【解决方案1】:

    您是否需要专门在代码中完成此操作?如果您使用 WinDbg,您可以使用 !runaway 来获取内核和用户模式 ​​http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/08/20/special-command-cpu-time-for-each-thread-with-runaway.aspx 的每个线程的 CPU 时间。

    您也可以使用 ProcessExplorer。如果您双击该进程,您可以在线程选项卡上获取此信息。 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx.

    或者,C++ How to get the cpu usage per thread on windows (win32) 上的这个线程包含有关 Win32 API 调用的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-15
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多