【发布时间】:2009-09-01 21:46:41
【问题描述】:
给定一个进程 ID,我如何使用 C# 从该进程获取 cpu 负载?
我已尝试使用 PerformanceCounter,如 c# calculate CPU usage for a specific application 中所述
我还尝试在一个时间范围内手动获取进程的总 cpu 时间的两个值,并将 delta-cpu-time 除以 delta-total-time。
这两种方法一开始似乎都可以正常工作,但如果我将应用程序放在 Windows 任务管理器旁边,我的应用程序显示的次数总是大约是任务管理器的两倍。我尝试使用从 10 毫秒到 10 秒的各种时间步进行更新,并始终得到相同的结果。
嗯,当我写这篇文章时意识到这可能是某种双核问题......
【问题讨论】:
标签: c# .net windows process performancecounter