【问题标题】:I am a process, how much CPU do I consume?我是一个进程,我消耗多少CPU?
【发布时间】:2010-10-01 22:52:22
【问题描述】:

有没有办法(.net 2.0)让进程知道它消耗的处理器使用量的确切数量(类似于在 processexplorer 属性/性能图中看到的)。

请不要再问半深奥的问题(p-Invoke OK)

另外,所以我不再提出另一个问题 - 我(作为一个进程)如何控制我自己的亲和力 - 即我应该被允许在哪些处理器(内核)上运行?

【问题讨论】:

  • +1 表示通俗易懂的标题

标签: .net c#-2.0 process diagnostics


【解决方案1】:

使用Process.ProcessorAffinity 设置进程关联性。

您可以使用 Process.TotalProcessorTime 获取进程 CPU 时间,但我不知道这是否为您提供了所需的粒度和快照能力。

【讨论】:

  • 我想这就是答案 - 我只需要测量实时并将 TotalProcessorTime 与它相除即可得到我的百分比。谢谢。
  • @Daniel - 是的,您应该能够计算自上次测量以来的增量,并使用它来显示具有代表性的东西。我想本机代码提供了更好的精度(可能是错误的,所以我会因为这个异端而受到抨击)。
【解决方案2】:

不要发明热水。使用WMI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多