给定一个进程 ID,我如何使用 C# 从这个进程中获取 cpu 负载?
我已经尝试使用 PerformanceCounter,如c# 计算特定应用程序的 CPU 使用率中所述
我还尝试在一个时间范围内手动获取进程的总 cpu 时间的两个值,并将 delta-cpu-time 除以 delta-total-time。
这两种方法一开始似乎都可以正常工作,但是如果我将我的应用程序放在 Windows 任务管理器旁边,我的应用程序总是显示大约是任务管理器的两倍。我尝试使用从 10 毫秒到 10 秒的各种时间步进行更新,并始终获得相同的结果。
嗯,当我写这篇文章时意识到这可能是某种双核问题......