如何在C#中为每个正在运行的进程获取cpu usage%

时间:2010-11-10 09:51:53

标签: c# process system.diagnostics processlist

我使用System.Diagnostics.Process.GetProcesses()来获取进程列表。 我找到了每个进程的TotalProcessorTime属性 - 它是TimeSpan。

但是如何获得CPU使用率的相对值,i。即我需要每个正在运行的进程的总CPU使用率的百分比。

2 个答案:

答案 0 :(得分:1)

使用WQL(查询类似SQL的WMI) 请参阅附件链接以获取少量样本:WQL

Win32_PerfFormattedData_PerfProc_Process 是获取CPU数据的类。

答案 1 :(得分:0)

我找到了一个解决方案决定,请参阅this question

计划如下:以标准方式获取计数器数据,然后处理日志文件。 实时监控并不重要。