[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理怎样获取进程cpu使用率?

用wmic命令获取进程cpu使用率是用那个列的值,还是里面根本就没有
wmic process list brief

wmic process get

TOP

2# applba


wmic process get这个我知道 我是问的get 哪个值?有很多值 我不知道哪个才是cpu使用率 貌似没有 我只看到WorkingSetSize

TOP

process是进程,怎么会显示cpu的使用率。

TOP

4# Hello123World


这个wmic是今天刚学的命令,正好想写一个监视进程的p,想输出指定进程占用的cpu使用率,还有别的命令能够输出吗?

TOP

不知道是否符合樓主需求
  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
复制代码

TOP

楼上写的跟问题有什么关系?

TOP

  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
复制代码
测试环境:WINDOWS 8 64Bit
如系统环境不同,请自行修改 :)

TOP

楼主可以用下面这个命令试下能不能找到什么有用的信息
wmic process where name="Process name" get *>c:\1.txt

TOP

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……
1

评分人数

TOP

procdump 可以实现对某一进程cpu使用率的监视,达到多少,持续多少秒后,写dump

TOP

返回列表