2010-10-01 57 views
4

是否有一种方法(.net 2.0)让进程知道它消耗的处理器使用量(在processessexplorer属性/性能图中可以看到)。我是一个进程,我要消耗多少CPU?

请不要走得更远,然后半深奥的问题(对调用OK)

而且,所以我不开另一个问题 - 如何能我(作为一个过程)控制我自己亲和力 - 即我应该允许哪些处理器(核心)运行?

+2

+1为简单说话'标题 – spender 2010-10-01 23:02:54

回答

4

使用Process.ProcessorAffinity设置处理亲和力。

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

+0

我想这就是答案 - 我只需要测量实时性并将TotalProcessorTime除以得到我的百分比。谢谢。 – 2010-10-01 23:18:12

+1

@丹尼尔 - 是的,你应该能够计算自上次测量以来的增量,并使用它来显示具有代表性的东西。我想尽管本地代码提供更好的精度(可能是错误的,所以我会因为这个异端而惹火)。 – 2010-10-02 01:03:45

1

不要发明热水。使用WMI