使用WMI和CPU的CPU使用率C#

时间:2009-04-06 14:10:28

标签: c# wmi cpu cpu-usage

如何使用WMI检索c#中的当前CPU使用率?我见过很多使用性能计数器的帖子,但我需要一个可以与远程机器配合使用的解决方案。我还找到了一个VB解决方案here,但如果可能的话,我更愿意在C#中实现这一点。

3 个答案:

答案 0 :(得分:3)

至少可以说,WMI的性能很混乱。性能计数器适用于远程计算机。使用System.Diagnostics.PerformanceCounterXxx类,构造函数具有带machineName参数的重载。

答案 1 :(得分:2)

来自sysinternals(它的免费)的工具“pslist”可以读出远程机器的使用情况。 你可以在cmd-box中启动程序并将结果提取到你的应用程序中。

        cmd.StartInfo.FileName = "cmd.com"; 
        cmd.StartInfo.Arguments = "/c pslist ....."; 
        cmd.StartInfo.RedirectStandardOutput = true; 
        cmd.StartInfo.RedirectStandardError  = true; 

        // run process and catch output 
        cmd.Start(); 
        string sOutput = cmd.StandardOutput.ReadToEnd(); 
        cmd.WaitForExit(); 

答案 2 :(得分:1)

搞定了。使用与此处找到的代码完全相同的代码:http://www.csharphelp.com/archives2/archive334.html原来我的路径很糟糕,我终于解决了这个问题:新的ManagementPath(string.Format(“\\ {0} \ root \ cimv2”,machineName) ));