Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4121
  • 博文数量: 2
  • 博客积分: 236
  • 博客等级: 二等列兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-27 21:00
文章分类
文章存档

2010年(2)

我的朋友
最近访客

分类:

2010-08-16 09:25:58

top命令计算cpu占用率是通过读取/proc/stat(文件的详细格式介绍可以man proc查看)来计算的,
:~> cat /proc/stat
cpu  43235890 1694 4504236 72018498 522397 13011 24260 0 0
cpu0 43235890 1694 4504236 72018498 522397 13011 24260 0 0
intr 298785115 103 613 0 2 2 0 0 0 0 0 0 0 63483 0 1864702 3209260 0 78 16999165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 632001273
btime 1267148235
processes 2273039
procs_running 2
procs_blocked 0
43235890表示 usr time
1694   nice time
4504236  system time
72018498  idle time
522397  iowait time
13011   irq time
24260   softirq time
0   steal_time
0  guest time
top命令计算cpu占用率的算法是,
先计算t1,t2两次采样间隔内各个cpu时间,
然后计算CPU在t1到t2时间段总的使用时间tot_frme = u_frme + s_frme + n_frme + i_frme + w_frme + x_frme + y_frme + z_frme = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2 + steal_time2) - ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1 + steal_time1)
最后计算各个cpu时间利用率 = u_frme * scale = u_frme * (100.0 / (float)tot_frme), ......//这里的100是因为显示的是百分数
阅读(2282) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:awk

给主人留下些什么吧!~~