计算Windows进程的CPU使用率?

时间:2009-09-01 21:46:42

标签: c# .net windows process performancecounter

给定进程ID,如何使用C#从此进程获取cpu负载?

我已尝试使用c# calculate CPU usage for a specific application

中所述的PerformanceCounter

我还尝试在一个时间范围内手动获取进程总CPU时间的两个值,并将delta-cpu-time除以delta-total-time。

这两种方法一开始似乎工作正常,但如果我将我的应用程序放在Windows任务管理器旁边,我的应用程序总是显示大约是任务管理器的两倍。我尝试使用10ms到10sec的各种时间步进更新,并始终获得相同的结果。

嗯,当我写这篇文章时意识到它可能是某种双核问题......

1 个答案:

答案 0 :(得分:3)

如果您有两个核心,则任务管理器将报告100%使用1个CPU作为50%。那可能是你的问题。