Board logo

标题: [系统相关] 批处理怎样获取进程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

不知道是否符合樓主需求
  1. @echo off
  2. mode con cols=100 lines=30
  3. :loop
  4. cls
  5. for /l %%a in (1 1 1) do (
  6. tasklist /v & ping 127.1 >nul
  7. )
  8. goto loop
复制代码

作者: mm546863903    时间: 2011-6-9 17:43

楼上写的跟问题有什么关系?
作者: andyrave    时间: 2011-6-9 18:01

  1. @echo off
  2. for /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value^|findstr "PercentProcessorTime"') do (
  3. set UseCPU=%%a
  4. )
  5. echo CPU使用率:%UseCPU%%%
  6. 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://www.bathome.net/) Powered by Discuz! 7.2