当前位置: 代码迷 >> Android >> android monitor tool (5.0 如何得到CPU利用率)
  详细解决方案

android monitor tool (5.0 如何得到CPU利用率)

热度:233   发布时间:2016-04-28 07:44:38.0
android monitor tool (5.0 怎么得到CPU利用率)


      首先看下效果图(双核):

     

       CPU的信息通过: adb shell cat /proc/stat  获取。

       下面看看获取的原始数据:

      

        双核:

            # two cores             #cpu  11937 408 12814 141702 3902 2 113 0 0 0            #cpu0 7020 219 8514 63880 3260 2 101 0 0 0            #cpu1 4917 189 4300 77822 642 0 12 0 0 0


         四核:

        

            #  four cores             #cpu  3793945 104696 1276563 46787875 345859 184 10397 0 0 0            #cpu0 2777435 51830 976299 8594431 274469 69 9155 0 0 0            #cpu1 789109 40419 207105 12087689 56964 53 968 0 0 0            #cpu2 162857 9774 62312 12978118 10256 33 224 0 0 0            #cpu3 64544 2673 30847 13127637 4170 29 50 0 0 0


         

user+system+nice+idle+iowait+irq+softirq的含义是:

user 从系统启动开始累计到当前时刻,用户态的CPU时间(单位:jiffies) ,不包含 nice值为负进程。1 jiffies=0.01秒

nice 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间(单位:jiffies)

system 从系统启动开始累计到当前时刻,核心时间(单位:jiffies)

idle 从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间(单位:jiffies)

iowait 从系统启动开始累计到当前时刻,硬盘IO等待时间(单位:jiffies)

irq 从系统启动开始累计到当前时刻,硬中断时间(单位:jiffies)

softirq 从系统启动开始累计到当前时刻,软中断时间(单位:jiffies)

 

知道了上面的含义,则计算公式:

total = user+system+nice+idle+iowait+irq+softirq

cpu利用率 = (total-idle)/idle  

当然前提是,你先获取前后一秒的两次数据

 

      

     

  相关解决方案