我正在尝试按如下方式计算Android中进程的CPU使用率,但是我不确定它是否由于输出产生而正确.
要从jiffie转换为秒:jiffie / hertz
第1步:使用/ proc / uptime文件的第一个参数获取正常运行时间.
第二步:从/ sys / devices / system / cpu / cpu0 / cpufreq / scaling_cur_freq获取每秒钟表滴答数.
第3步:从/ proc / [pid] / stat获取进程(utime(14)stime(15))参数所花费的总时间
第四步:从/ proc / [pid] / stat获取进程的starttime(22)
在Linux 2.6之后,该值以时钟周期表示(除以sysconf(_SC_CLK_TCK)).
第五步:获取自启动以来进程的总耗用时间(正常运行时间 – (启动时间/赫兹)(因为正常运行时间以秒为单位,启动时间为时钟滴答).
第六步:获取CPU使用百分比((totaltime / hertz)/ elapsedTime)* 100.
计算后的输出类似于5.702244483458246E-6,大约等于~0.000005702244483
编辑
产量
步骤1:226.06 1211.19
第2步:1000000
步骤3:9347(example.com)S 3573 3573 0 0 -1 1077952832 8971 0 1 0 38 32 0 0 20 0 25 0 13137 983830528 14330 4294967295 1 1 0 0 0 0 4612 0 38136 4294967295 0 0 17 5 0 0 0 0 0 0 0 0 0 0 0 0 0