是否可以从脚本中了解cpu利用率

时间:2010-03-10 07:02:52

标签: windows batch-file

是否有任何命令或可能的方法来了解Windows操作系统中的cpu利用率,以便在命令行或批处理脚本中使用?

4 个答案:

答案 0 :(得分:29)

要确定一般用法,您可以使用mcstellar和warren的答案。您还可以选择:

列出所有流程:

typeperf "\Process(*)\% Processor Time" -sc 1

列出所有流程,每隔10秒采集5个样本:

typeperf "\Process(*)\% Processor Time" -si 10 -sc 5

如果你想要一个特定的过程,例如Rtvscan:

typeperf "\Process(Rtvscan)\% Processor Time" -si 10 -sc 5

我发现在一段时间内监控所有流程活动非常有用。然后我可以将其转储到csv文件并在电子表格中过滤以远程诊断问题。

以下给出了所有过程的5分钟(间隔10秒)。数据不仅包括%Processor Time,还包括IO,内存,分页等。

typeperf -qx "\Process" > config.txt typeperf -cf config.txt -o perf.csv -f CSV -y -si 10 -sc 60

答案 1 :(得分:14)

要以1秒的间隔进行监控,请使用:

typeperf "\processor(_total)\% processor time"

仅限当前用法,请使用:

typeperf -sc 1 "\processor(_total)\% processor time"

答案 2 :(得分:5)

从命令行?看看PsTools套件中的PsList。

答案 3 :(得分:5)

这是一个显示每个进程的cpu利用率的小vbscript

strComputer ="."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_PerfProc_Process",,48)
For Each obj in colProcess
If obj.Name <> "Idle"  And obj.Name <> "_Total" Then 
        WScript.echo obj.Name & "," & obj.PercentProcessorTime
End If
Next

另存为showcpu.vbs并在命令行上运行

c:\test> cscript //nologo showcpu.vbs