Android CPU使用率:top和dump cpuinfo的不同

https://blog.csdn.net/oujunli/article/details/51463707

 

1、top

top是比较经典的CPU计算方法,top的代码在androidm/system/core/toolbox/top.c下面,输出process的cpu使用率在print_procs里面:

 

2、dump cpuinfo

dump cpuinfo是Android特有的命令(我一直都android的各种dump、trace非常感兴趣,快玩物丧志了。。。)。dump cpuinfo命令的实现在androidm/frameworks/base/core/java/com/android/internal/os/ProcessCpuTracker.java类里面,方法是printCurrentState:
 

 

st.rel_utime 和 st.rel_stime还是通过读/proc/pid/stat相减得到,而st.rel_uptime却是通过 SystemClock.uptimeMillis()差值,并不是跟top一样,通过得到总CPU jiffies。

看到这,也就能明白,top跟dump cpuinfo的区别在于:top分母有的是总测CPU jiffies,而dump cpuinfo是uptime,是时间,而并非jiffies,也能解释为什么top出来的cpu,大部分时间会比dump cpuinfo的原因。
---------------------  
作者:欧军礼  
来源:CSDN  
原文:https://blog.csdn.net/oujunli/article/details/51463707  
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

更多相关文章

  1. android git 打包命令
  2. android am命令用法
  3. Android 用Shell命令设置静态ip
  4. 命令行创建虚拟环境
  5. Android SDK: sdkmanager 命令行工具的使用(查看、安装、更新、卸
  6. 使用命令行在手机上运行android单元测试
  7. Android adb不是内部或外部命令
  8. 【Android】MTK Android 编译命令
  9. Android终端命令执行编译命令()

随机推荐

  1. Android(安卓)activity和fragment隐藏软
  2. Android(安卓)dimens.xml中保存不带单位
  3. Android(安卓)LayoutInflater
  4. android开发笔记之一些有用资料的汇总
  5. android 源码编译遇到得一些问题
  6. Ubuntu 安装 ADT和SDK
  7. Android(安卓)Dialog 对话框
  8. Android:一个很简单的扑克游戏(从项目资源
  9. Android(安卓)studio App开发 SQLite数据
  10. 避免OOM的一种方式