是否可以通过脚本知道CPU利用率
从命令行?查看PsTools套件中的PsList。
'pslist'只显示CPU时间和经过时间,这需要额外的计算才能得到一个使用率数字,并且不是一个“实时”数字,而是过程生命周期数。对于一个快速的“谁在使用我的CPU”来说,这个功能并没有那么有用,尽管它可能对其他用途有好处。 – 2014-11-07 15:35:44
要监视每隔1秒使用:
typeperf "\processor(_total)\% processor time"
仅适用于当前使用情况,使用:
typeperf -sc 1 "\processor(_total)\% processor time"
这里有一个小的VBScript,显示CPU利用率为每个进程
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
要确定一般用法,您可以使用mcstellar和warren的答案。此外,还可以选择:
列出所有进程:
typeperf "\Process(*)\% Processor Time" -sc 1
列出所有进程,采取5个样品以10秒间隔:
typeperf "\Process(*)\% Processor Time" -si 10 -sc 5
如果你想有一个特定的过程,Rtvscan例如:
typeperf "\Process(Rtvscan)\% Processor Time" -si 10 -sc 5
我发现在一段时间内监视所有进程活动非常有用。然后,我可以将其转储到一个csv文件并在电子表格中过滤以远程诊断问题。
下面给我5分钟(间隔10秒)的所有过程。该数据不仅包括处理器时间百分比,但IO,内存,分页等
typeperf -qx "\Process" > config.txt
typeperf -cf config.txt -o perf.csv -f CSV -y -si 10 -sc 60
如果在5分钟内启动新流程会发生什么?它的活动会被记录下来吗? – 2011-05-02 07:35:35
在我的系统上,命令typeperf -qx“\ Process”> config.txt不能正常工作,因为它会在config.txt中添加字符串“正在退出请等待......命令成功完成”。在柜台中间。如果我用-o typeperf选项替换重定向,它会很好用。带“typeperf -q”的 – 2011-05-02 13:43:28
,您可以获得QUERY参数的所有列表。 – 2014-10-20 15:24:53
相关:[从Windows命令提示符CPU使用率(http://stackoverflow.com/questions/ 9097067/get-cpu-usage-from-windows-command-prompt) – 2015-01-09 11:23:35