如何在 C# 中获取每个正在运行的进程的 cpu 使用率%
我使用 System.Diagnostics.Process.GetProcesses() 来获取进程列表。 我发现每个进程的 TotalProcessorTime 属性 - 它是 TimeSpan。
但是如何获取 CPU 使用率的相对值,即我需要每个正在运行的进程的总 CPU 使用率的百分比。
I use System.Diagnostics.Process.GetProcesses() to get process list.
I found TotalProcessorTime property for each process - it is TimeSpan.
But how to get relative values of CPU usage, i. e. i need % of total CPU usage for each running process.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 WQL(像 SQL 一样查询 WMI)
请参阅附加链接获取一些示例:WQL
Win32_PerfFormattedData_PerfProc_Process 是用于获取 CPU 数据的类。
use WQL (queries WMI like SQL)
see attached link for few samples:WQL
Win32_PerfFormattedData_PerfProc_Process is your class for getting CPU data.
我找到了一个解决方法决定,请参阅 这个问题
计划如下:以标准方式获取计数器数据,然后处理日志文件。
实时监控并不重要。
I found a workaround decision see this question
The plan is as follows: take counters data in stndard way, then process log files.
Realtime monitoring is not critical.