
标题: [系统相关] 批处理怎样获取进程cpu使用率? [打印本页]
作者: hucuibai 时间: 2011-6-9 14:43 标题: 批处理怎样获取进程cpu使用率?
用wmic命令获取进程cpu使用率是用那个列的值,还是里面根本就没有
wmic process list brief
作者: applba 时间: 2011-6-9 15:11
wmic process get
作者: hucuibai 时间: 2011-6-9 15:55
2# applba
wmic process get这个我知道 我是问的get 哪个值?有很多值 我不知道哪个才是cpu使用率 貌似没有 我只看到WorkingSetSize
作者: Hello123World 时间: 2011-6-9 16:45
process是进程,怎么会显示cpu的使用率。
作者: hucuibai 时间: 2011-6-9 17:04
4# Hello123World
这个wmic是今天刚学的命令,正好想写一个监视进程的p,想输出指定进程占用的cpu使用率,还有别的命令能够输出吗?
作者: dennisle 时间: 2011-6-9 17:33
不知道是否符合樓主需求- @echo off
- mode con cols=100 lines=30
- :loop
- cls
- for /l %%a in (1 1 1) do (
- tasklist /v & ping 127.1 >nul
- )
- goto loop
复制代码
作者: mm546863903 时间: 2011-6-9 17:43
楼上写的跟问题有什么关系?
作者: andyrave 时间: 2011-6-9 18:01
- @echo off
- for /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value^|findstr "PercentProcessorTime"') do (
- set UseCPU=%%a
- )
- echo CPU使用率:%UseCPU%%%
- pause
复制代码
作者: sky02 时间: 2011-6-9 18:56
楼主可以用下面这个命令试下能不能找到什么有用的信息
wmic process where name="Process name" get *>c:\1.txt
作者: applba 时间: 2011-6-9 20:15
KernelModeTime和UserModeTime只是进程创建以来占用CPU的总时间,你要取瞬间的CPU占用率,可以先取一次,再Sleep一秒,再取一次,将两次的值相减,即可得到这一秒里的CPU的占用率。
通过计数器获取idle空闲进程cpu占用率r1;
通过process类的TotalProcessorTime属性获取各进程的cpu时间,求和,得各进程(除空闲进程idle,该进程无法通过process类获得cpu时间)cpu时间和t1,通过t1/(100-r1)得到总cpu时间t;对各进程,通过TotalProcessorTime获得进程cpu时间tnew,计算:(Tnew-told)/t,即得该进程的cpu占用率,其中told是程序中记录的该进程上一次的TotalProcessorTime。
以上内容复制自csdn……
作者: topfun 时间: 2015-7-10 12:34
procdump 可以实现对某一进程cpu使用率的监视,达到多少,持续多少秒后,写dump
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |