是否有任何命令或可能的方法来了解Windows操作系统中的cpu利用率,以便在命令行或批处理脚本中使用?
答案 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