找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 56323|回复: 10

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

[复制链接]
发表于 2011-6-9 14:43:30 | 显示全部楼层 |阅读模式
用wmic命令获取进程cpu使用率是用那个列的值,还是里面根本就没有
wmic process list brief
发表于 2011-6-9 15:11:38 | 显示全部楼层
wmic process get
 楼主| 发表于 2011-6-9 15:55:10 | 显示全部楼层
2# applba


wmic process get这个我知道 我是问的get 哪个值?有很多值 我不知道哪个才是cpu使用率 貌似没有 我只看到WorkingSetSize
发表于 2011-6-9 16:45:46 | 显示全部楼层
process是进程,怎么会显示cpu的使用率。
 楼主| 发表于 2011-6-9 17:04:01 | 显示全部楼层
4# Hello123World


这个wmic是今天刚学的命令,正好想写一个监视进程的p,想输出指定进程占用的cpu使用率,还有别的命令能够输出吗?
发表于 2011-6-9 17:33:11 | 显示全部楼层
不知道是否符合樓主需求

  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
复制代码
发表于 2011-6-9 17:43:01 | 显示全部楼层
楼上写的跟问题有什么关系?
发表于 2011-6-9 18:01:32 | 显示全部楼层
  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
复制代码
发表于 2011-6-9 18:56:12 | 显示全部楼层
楼主可以用下面这个命令试下能不能找到什么有用的信息
wmic process where name="Process name" get *>c:\1.txt
发表于 2011-6-9 20:15:34 | 显示全部楼层
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技术 +1 收起 理由
mxxcgzxxx + 1 很深哦学下

查看全部评分

发表于 2015-7-10 12:34:03 | 显示全部楼层
procdump 可以实现对某一进程cpu使用率的监视,达到多少,持续多少秒后,写dump
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 21:36 , Processed in 0.011930 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表