跪求linux下CPU平均占用率获得方法

一土草三工 2011-07-21 02:10:26
如题 ~
如何获取linux系统每分钟的CPU平均占用率
写一个函数实现这个功能,调用shell命令也可以。

TOP命令只能看实时的,取不了平均的,而且一直在刷。
...全文
173 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengyiyu 2011-07-29
  • 打赏
  • 举报
回复
1。是通过ps 来获得,不过这样获取的占用率不是很精确。
2。通过vmstat获得,这个要自己做个计算
3。通过读取/proc/要查询的PID/status文件,不过都没读权限。
4。通过topas
feiyu2994 2011-07-29
  • 打赏
  • 举报
回复
sar -u 1 60
最后一行输出的即是1分钟打点60次的平均值
ATAE12:/home/collect/output # sar -u 1 10
Linux 2.6.16.54-0.2.12.2386.0.PTF.660233-smp (ATAE12) 07/29/11

14:01:11 CPU %user %nice %system %iowait %idle
14:01:12 all 0.25 0.00 0.51 0.00 99.24
14:01:13 all 11.39 0.00 4.30 0.00 84.30
14:01:14 all 2.52 0.00 1.01 0.00 96.47
14:01:15 all 0.00 0.00 0.25 3.26 96.49
14:01:16 all 0.00 0.00 0.00 0.00 100.00
14:01:17 all 0.51 0.00 0.51 0.00 98.99
14:01:18 all 0.00 0.00 0.25 0.00 99.75
14:01:19 all 0.00 0.00 0.76 0.00 99.24
14:01:20 all 0.00 0.00 0.75 2.01 97.24
14:01:21 all 0.25 0.00 0.50 0.00 99.25
Average: all 1.49 0.00 0.88 0.53 97.10
昵称很不好取 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 steptodream 的回复:]

引用 2 楼 thefirstz 的回复:

top是动态的,vmstat是静态的

vmstat 1
就会每秒刷新一次
[/Quote]
OK,THX
freetstar 2011-07-21
  • 打赏
  • 举报
回复
自己直接用shell即可了,
steptodream 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 thefirstz 的回复:]

top是动态的,vmstat是静态的
[/Quote]
vmstat 1
就会每秒刷新一次
steptodream 2011-07-21
  • 打赏
  • 举报
回复
非要用cpu占用率吗 你直接用cpu的load值来衡量cpu的负载吧
uptime、w、top等命令都会有系统平均负载load average的输出,类似
load average: 0.00, 0.00, 0.00
三个数分别代表一分钟、五 分钟、十五分钟的平均负载值,数字越小越好
昵称很不好取 2011-07-21
  • 打赏
  • 举报
回复
top是动态的,vmstat是静态的
justkk 2011-07-21
  • 打赏
  • 举报
回复
vmstat ?

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧