如何在Linux内核监测CPU利用率

lufeng 2007-12-18 09:56:30
各位大拿,如何在Linux内核监测CPU利用率?
...全文
302 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
接分先!
yorloo 2008-01-18
  • 打赏
  • 举报
回复
# top
satfire 2008-01-18
  • 打赏
  • 举报
回复
top
bull3000 2008-01-15
  • 打赏
  • 举报
回复
用/proc/stat文件中的值来计算


文件格式如下:
user system nice idle iowait irq softirq
cpu 17906755 86377 53312329 1322524322 29311124 101704 1096939
cpu0 4665564 22883 13417357 330376020 7206071 99986 297154
cpu1 4488897 20352 13351971 330749128 7202582 0 271926
cpu2 4434851 22675 13302518 330622140 7455115 1718 245786
cpu3 4317443 20467 13240483 330777034 7447356 0 282073
第一行是总的情况
第二行到第五行分别代表每个cpu的情况

对这个文件需要读取两遍,我们用total表示累计总资源,那么user+sys就是我们想要知道的累计CPU占用的资源。每个变量后面的数字表示它是第几次读文件得到的,用如下方法可算出CPU占用率:
Total_1=user_1+nice_1+sys_1+idle_1
Total_2=user_2+nice_2+sys_2+idle_2
Rate={[(user_2+sys_2)-(user_1+sys_1)]/(total_2-total_1)}*100
由于我们两次读取的时间间隔比较短,我们就近似的认为这就是即时的CPU利用率。
tomsi 2008-01-15
  • 打赏
  • 举报
回复
用proc可能会侵犯某些人的专利的,
http://www.lupaworld.com/viewnews_36320.html
1、获取Linux操作系统信息的方法

  单位:联想(北京)有限公司

  摘要:一种获取Linux操作系统信息的方法,通过Linux操作系统的proc文件系统,读取Linux内核中各模块的信息;对读出的信息进行处理; 将处理后的信息输出到指定的接口文件。本发明通过读取和处理Linux操作系统\proc目录下的内核信息文件,获得运行该LINUX操作系统服务器的完整信息,并可独立于不同的Linux发行版本,而仅仅依靠标准的Linux内核就可以实现服务器信息的获取,具有广泛的兼容性

但top实际也是调用proc实现的,我们该怎么办呢?! 8- (
mychivas 2008-01-01
  • 打赏
  • 举报
回复
top
55015182 2008-01-01
  • 打赏
  • 举报
回复
linux和unix都是top
ji_ju 2007-12-27
  • 打赏
  • 举报
回复
top
adream99 2007-12-20
  • 打赏
  • 举报
回复
busybox
tb01412 2007-12-19
  • 打赏
  • 举报
回复
看BUSYBOX中的TOP命令源码
lufeng 2007-12-19
  • 打赏
  • 举报
回复
Good, any others?

4,437

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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